2013-03-13 102 views
0

我试图从一个集合中迁移一些数据到MongoDB中同一个数据库中的其他集合。我有大约5万条记录。插入mongodb时会被锁定,并影响应用程序。有没有办法在MongoDB中处理锁定系统?有没有办法避免mongodb中的锁

感谢, 普拉斯

+0

请添加您使用的mongoDB版本! – ppeterka 2013-03-13 08:51:56

+1

实际上,有90%的机会不是锁,而是IO限制或类似的形式的计算机瓶颈,你可以给我们一个mongodb版本和iostat -x的锁定时间吗?你还可以描述一下你的电脑和你的数据集大小吗? – Sammaye 2013-03-13 08:53:20

+0

MongoDB shell版本:2.2.0 – Prats 2013-03-13 08:53:40

回答

0

按这篇文章:Goodbye global lock – MongoDB 2.0 vs 2.2全球锁定that was known to affect MongoDB是假想使用的版本> = 2.2时不见了。

如果您有一个旧实例,并且升级超出了范围,我会尝试将迁移分解为更小的批次(一次最多100个文档,如果足够小),并且等待少量时间(50ms左右)。这是一个丑陋的和缓慢的解决办法,但可能允许你继续,而在暂时onnline ...

编辑 嗯,怪了,你的版本应该是从全局写锁的情况自由。我可能会尝试小批量的方式...

EDIT2 而Sammaye是正确的:这可能是好老IO瓶颈问题太...试试,看看你的磁盘在这方面如何票价确定。