Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1272432
  • 博文数量: 179
  • 博客积分: 3044
  • 博客等级: 中校
  • 技术积分: 2437
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-25 15:04
文章分类

全部博文(179)

文章存档

2021年(2)

2020年(1)

2019年(5)

2018年(13)

2017年(6)

2016年(10)

2015年(11)

2014年(11)

2013年(13)

2012年(23)

2011年(25)

2010年(2)

2008年(1)

2007年(5)

2006年(51)

分类: NOSQL

2014-02-22 02:39:54

首先要说明的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!

阅读(11585) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~