MongoDB(自动分片+shard备份) 机器故障 (使用kill -9仿真) 稳定性测试

先上一张准备测试的MongoDB设计图:


图上已经说明很清楚了。可以参加我其它笔记:http://blog.csdn.net/crazyjixiang/article/category/844957如果觉得不清楚 请留言 :)

这里使用replication set来避免单节点数据的丢失。

测试情况如下:

在228服务器上插入 1000W条数据 。在插入完成后先断掉 162 服务器,然后迅速在mongos那里执行

> db.users.count() Fri Jul 29 16:05:11 uncaught exception: count failed: { "assertion" : "DBClientBase::findOne: transport error: 10.10.21.162:27017 query: { setShardVersion: \"test.users\", configdb: \"10.7.3.228:27019\", version: Timestamp 5000|1, serverID: ObjectId('4e325735277d2098a18b5cca'), shard: \"set162163228\", shardHost: \"set162163228/10.10.21.162:27018,10.10.21.163:27017\" }", "assertionCode" : 10276, "errmsg" : "db assertion failure", "ok" : 0 }
可见抛出一个异常,再执行下 db.users.count()

> db.users.count() 10000000

发现正常了,163变成Primary 。

然后继续执行插入 10000W数据,在插入过程中断再断掉 163 服务器

插入正常进行中,插入完后 对比了下 164的服务器数据 + 连接上162服务器上的数据 正好等于2000W。

把 162, 163两个服务器再连接上后,数据不停变化,这时正在进行负载平衡.


附:若机房出现瞬间停电,那么数据还是会出现问题的,但是这种概率很小。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值