公司业务重构,其实也相当于完全重写了,忙着把mysql的数据导入mongodb。导入过程很顺利,也就是到1000W时速度变慢了。也没有在意。
今天在执行批量更新时日志中出现了: Update of data into MongoDB failed: cursor timed out (timeout: 30000, time left: 0:0, status: 0),各种折腾后无果,遂报运维。运维检查无果。郁闷!
突然想起之前看过的火丁笔记:http://huoding.com/2011/08/09/104,对比之后发现情况如此类同:多cup,一样的错误,一样的批量操作,于是进行以下操作
/opt/mongodb/bin/mongodb/bin/mongod -f /opt/mongodb/etc/mongodb.conf --shutdown
echo 0 > /proc/sys/vm/zone_reclaim_mode
numactl --interleave=all /opt/mongodb/bin/mongod --config=/opt/mongodb/conf/mongod.conf
ok,问题解决,感谢火丁笔记分享