服务器压测文档
环境说明:
系统:
centos7 4核 8G
软件:
1. DB:mongo
2. stupidbird + vert.x
3. python2.7
压测工具:
python 写的多线程发请求。
测试说明:
1. 调用接口 /encry/player/saveDataTest(保存玩家数据)
2. 每个请求都会随机一个50字符的串(保证每次玩家数据都有改动)
3. 测试脚本请求超时时间:10s
测试结果:
请求数 | cpu使用率 | io负载 | 内存 | 服务器最高连接数 | mongo最高(读/写) | 用时 |
10000次 | 150%左右 | 无变化 | 无变化 | ESTABLISHED:100+ TIME_WAIT: 5000 | 900+ / 900+ | 10秒(无异常请求) |
20000次 | 不到200% | 稍有变化,可忽略 | 无变化 | ESTABLISHED:100+ TIME_WAIT:5000 | 900+ / 900+ | 20秒(无异常请求) |
30000次 | 不到200% | 稍有变化,可忽略 | 无变化 | ESTABLISHED 100+ TIME_WAIT 5000 | 900+ / 900+ | 30秒 无异常请求) |
疑问:
1. 为什么多少连接,mongo读写都不到1000
2. 为什么 ESTABLISHED 正在连接 的只有 100+, TIME_WAIT 值不超过5000