发布新版本前的测试
Master分支每一个版本的发布, 至少都会经过7*24小时高压测试.
测试用例
- 客户端代码位于Test/test_client_pressure.php
- 客户端代码部署在5台服务器上, 其中涉及同机房内网环境, 移动, 电信, 联通等不同机房. 每台服务器启动2万个链接.
- 服务端32个进程, 共接收十万个链接, 模拟十万个用户同时在线.
- 每个链接不间断的发送PING, 服务端回复PONG.
- PHP版本为5.6.22
服务端负载
以下为top
命令的截取.
load average: 4.07, 4.02, 4.00
Tasks: 675 total, 6 running, 669 sleeping, 0 stopped, 0 zombie
Cpu(s): 14.4%us, 3.3%sy, 0.0%ni, 81.9%id, 0.0%wa, 0.0%hi, 0.4%si, 0.0%st
Mem: 65801540k total, 3853780k used, 61947760k free, 264520k buffers
Swap: 68026360k total, 0k used, 68026360k free, 458300k cached
MeepoPS状态
- 内存: 1027.5M.
- 子进程无重启.
- 十万链接无断开, 无接收失败, 无发送失败, 无内存泄漏, 接收数等于发送数
客户端状态
- 所有链接无断开, 无重连, 无发送失败, 无读取失败.
- 每次发送后收到的消息校验无误.