转载

Mysql,Zookeeper,Redis,Mongodb压力测试结果

1. Redis(使用fastredisclient) redis-shard 10连接 cpu 7-8% 9-12% root@gleasy cloudredis]# bin/redis-benchmark -t get -h 192.168.0.11 -p 6680 -d 15 -l 60 -c 200 -b shard 成功:5740491 失败:0 总时间:11999368 最长用时:42 最短用时:0 平均用时:2.090303425264494 min tps:0 max tps:131439 avg tps:94106 cpu 9-12% [root@gleasy cloudredis]# bin/redis-benchmark -t set -h 192.168.0.11 -p 6680 -d 15 -l 60 -c 200 -b shard 成功:5730516 失败:0 总时间:11999536 最长用时:205 最短用时:0 平均用时:2.093971293335539 min tps:0 max tps:109213 avg tps:93942 2. Mysql Mysql 插入 1000线程 7000/s target/benchtest/bin/TestMysql insert 1000 1000000 0 线程总时间:131320984;平均:131.320984 实际总时间:134504; 平均:0.134504 Mysql ibatis 插入 1000线程 5000/s target/benchtest/bin/TestMysql insert 1000 1000000 0 线程总时间:131320984;平均:131.320984 实际总时间:134504; 平均:0.204504 Mysql 查询 1000线程 7000/s target/benchtest/bin/TestMysql query 1000 200000 600000 线程总时间:27869248;平均:139.34624 实际总时间:29117; 平均:0.145585 Mysql ibatis 查询 1000线程 5000/s target/benchtest/bin/TestMysql query 1000 200000 600000 线程总时间:27869248;平均:139.34624 实际总时间:29117; 平均:0.195585 Mysql 批量插入 500线程(50000/s) target/benchtest/bin/TestMysql minsert 500 10000*100 线程总时间:10759531;平均:10.759531 实际总时间:22256; 平均:0.022256 3. Zookeeper 单结点: set: tps 7500 get: tps 8700 del: tps 8400 4. Mongodb 写操作 200(线程数) 50000(记录数) add(操作) nbso online casino reviews writeConcern=normal 线程总时间:304881 最长用时:1928/250=7.712 最短用时:562/250=2.248 平均:6.09762 实际总时间:1933 平均: 1933/50000=0.03866 tps:25866.52871184687 200 50000 add writeConcern=safe (为保证数据正确,目前采用该方式) 线程总时间:1660848 最长用时:8580/250=34.32 最短用时:7401/250=29.604 平均:33.21696 实际总时间:8586 平均: 8586/50000=0.17172 tps:5823.433496389471 500 1000000 add writeConcern=normal 线程总时间:43969426 最长用时:108885/2000=54.4425 最短用时:61483/2000=30.7415 平均:43.969426 实际总时间:109016 平均: 109016/1000000=0.109016 tps:9172.965436266235 500 1000000 add writeConcern=safe 线程总时间:63972303 最长用时:129511/2000=64.7555 最短用时:122266/2000=61.133 平均:63.972303 实际总时间:129521 平均: 129521/1000000=0.129521 tps:7720.755707568657 1000 50000 add writeConcern=normal 线程总时间:2956438 最长用时:4276/50=85.52 最短用时:338/50=6.76 平均:59.12876 实际总时间:4303 平均: 4303/50000=0.08606 tps:11619.800139437602 1000 50000 add writeConcern=safe 线程总时间:7937768 最长用时:9196/50=183.92 最短用时:5995/50=119.9 平均:158.93826 实际总时间:9208 平均: 9208/50000=0.18416 tps:5430.060816681147 读操作 200 1000000 read 线程总时间:275106 最长用时:2116/5000=0.4232 最短用时:199/5000=0.0398 平均:0.275106 实际总时间:2137 平均: 2137/1000000=0.002137 tps:467945.7182966776 500 1000000 read 线程总时间:2205097 最长用时:5552/2000=2.776 最短用时:225/2000=0.1125 平均:2.205097 实际总时间:5576 平均: 5576/1000000=0.005576 tps:179340.0286944046 5.总结 在相同的硬件环境下,笔者测试的结果,redis在读和写性能都达到接近100K,性能表现最为优秀;MongoDB读写性能严重不均衡,读可以达到100K以上,写却只有5-6K,相差15倍之巨;Zookeeper在结点情况下,TPS接近8K,性能表现不俗,但不太适合用于关键性能场合;Mysql在读写性能大概介于5K-10K之间,批量操作性能优秀。 性能仅仅是衡量数据库优劣的其中一项指标,在具体的业务场景下,需要综合选取最优秀的存储方案或方案的组合,以达到最优设计。
正文到此结束
Loading...