您的位置:首页 > 数据库 > Mongodb

numactl mongodb

2015-11-11 19:25 465 查看
mongodb惨痛经历

首先要说明的rockmongo是一个很好的mongodb的查询工具,但是我却悲惨在这货手里!

一不小心把生产环境的一个数据库给删除了!恶梦就此开始。。。。。。

生产环境正常情况下数据大小有近900G但是用dump命令备份出来的文件大小只有近40G不到,现在就要用40G的数据使用mongorestore 命令恢复到900G数据,

一开始直接使用mongodbrestore恢复时,每5分钟才才能恢复1%,这不是要人命么?

搞了近7个小时后,终于有个同事(高手)说要换一种方式才行

把mongodb服务端使用numactl --interleave=all 可以成倍的提高导入速度!

OK,试一下!

没有numactl命令,使用yum安装

yum install -y numactl

再使用命令

echo 0 > /proc/sys/vm/zone_reclaim_mode

vi /proc/sys/vm/zone_reclaim_mode

sysctl -w vm.zone_reclaim_mode=0

Mongdb启动命令变成:

numactl --interleave=all mongod --directoryperdb --rest --replSet kdweiboset0 --dbpath=/data --port 27017 --fork --logpath /logs/datacore.log --logappend --maxConns 16000

再重新使用导入命令:

/kingdee/mongodb/bin/mongorestore -h 192.168.240.100 --port 27017 -d dbname --directoryperdb /mongodb/data/dump/dbname

导入速度快了N倍呀!

Mongodb服务端运行也快了好多,瞎了很多年!!!

再就是使用mongodump命令导出的数据太耗时间了,数据量大时一定不要用呀,血的教训!

还是用数据文件备份吧,停secondary 后备份再启secondary!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: