MongoDB(自动分片+shard备份) 机器故障 (使用kill -9仿真) 稳定性测试
2011-10-15 15:58
603 查看
MongoDB(自动分片+shard备份)
机器故障 (使用kill -9仿真) 稳定性测试
转自:http://blog.csdn.net/crazyjixiang/article/details/6644646
先上一张准备测试的MongoDB设计图:
图上已经说明很清楚了。可以参加我其它笔记:http://blog.csdn.net/crazyjixiang/article/category/844957 如果觉得不清楚
请留言 :)
这里使用replication
set来避免单节点数据的丢失。
测试情况如下:
在228服务器上插入
1000W条数据 。在插入完成后先断掉 162 服务器,然后迅速在mongos那里执行
view
plainprint?
> 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()
view
plainprint?
> db.users.count()
10000000
发现正常了,163变成Primary 。
然后继续执行插入 10000W数据,在插入过程中断再断掉 163 服务器
插入正常进行中,插入完后 对比了下 164的服务器数据 + 连接上162服务器上的数据 正好等于2000W。
把 162, 163两个服务器再连接上后,数据不停变化,这时正在进行负载平衡.
附:若机房出现瞬间停电,那么数据还是会出现问题的,但是这种概率很小。
机器故障 (使用kill -9仿真) 稳定性测试
转自:http://blog.csdn.net/crazyjixiang/article/details/6644646
先上一张准备测试的MongoDB设计图:
图上已经说明很清楚了。可以参加我其它笔记:http://blog.csdn.net/crazyjixiang/article/category/844957 如果觉得不清楚
请留言 :)
这里使用replication
set来避免单节点数据的丢失。
测试情况如下:
在228服务器上插入
1000W条数据 。在插入完成后先断掉 162 服务器,然后迅速在mongos那里执行
view
plainprint?
> 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()
view
plainprint?
> db.users.count()
10000000
发现正常了,163变成Primary 。
然后继续执行插入 10000W数据,在插入过程中断再断掉 163 服务器
插入正常进行中,插入完后 对比了下 164的服务器数据 + 连接上162服务器上的数据 正好等于2000W。
把 162, 163两个服务器再连接上后,数据不停变化,这时正在进行负载平衡.
附:若机房出现瞬间停电,那么数据还是会出现问题的,但是这种概率很小。
相关文章推荐
- MongoDB(自动分片+shard备份) 机器故障 (使用kill -9仿真) 稳定性测试
- 第六节 MongoDB 状态监控、备份复制及自动分片
- MongoDB 状态监控、备份复制及自动分片
- 【mongoDB】测试使用gridfs,配置一个分片服务器集群
- MongoDB 状态监控、备份复制及自动分片-6
- 第六节 MongoDB 状态监控、备份复制及自动分片
- MongoDB分片故障测试和解决方案
- mysql远程访问,主从/主主双机备份,以及使用keeplived实现故障自动切换(一)
- MongoDB 状态监控、备份复制及自动分片
- mysql远程访问,主从/主主双机备份,以及使用keeplived实现故障自动切换(二)
- liunx自动备份数据库mongodb与mysql
- 使用Android Instrument 自动测试 WIFI_SERVICE
- android studio的debug和release模式下使用不同的Http前缀进行测试与正式环境的自动切换
- 使用SQL Server维护计划实现数据库定时自动备份
- 简单Dream-ORACLE_RAC故障透明切换测试,已连接的应用不会自动切换到第二个节点上
- 利用Ant实现项目自动构建测试备份并发布到项目web(3)
- 怎样在IDEA中使用JUnit4和JUnitGenerator V2.0自动生成测试模块
- MongoDB分片测试
- java使用Redis6--sentinel单点故障主从自动切换
- linux下使用crontab定时备份mongodb数据