1.17.2 压力测试
优质
小牛编辑
135浏览
2023-12-01
测试环境:
- 系统:debian 6.0 64位
- 内存:64G
- cpu:Intel(R) Xeon(R) CPU E5-2420 0 @ 1.90GHz (2颗物理cpu,6核心,2线程)
- Workerman:开启200个Benchark进程
- 压测脚本:benchmark
- 业务:发送并返回hello字符串
普通PHP(版本5.3.10)压测
短连接(每次请求完成后关闭连接,下次请求建立新的连接):
条件: 压测脚本开500个并发线程模拟500个并发用户,每个线程连接Workerman 10W次,每次连接发送1个请求
结果: 吞吐量:2.3W/S , cpu利用率:36%
长连接(每次请求后不关闭连接,下次请求继续复用这个连接):
条件: 压测脚本开2000个并发线程模拟2000个并发用户,每个线程连接Workerman 1次,每个连接发送10W请求
结果: 吞吐量:36.7W/S , cpu利用率:69%
内存:每个进程内存稳定在6444K,无内存泄漏
HHVM环境压测
短连接(每次请求完成后关闭连接,下次请求建立新的连接):
条件: 压测脚本开1000个并发线程模拟1000个并发用户,每个线程连接Workerman 10W次,每次连接发送1个请求
结果: 吞吐量:3.5W/S , cpu利用率:35%
长连接(每次请求后不关闭连接,下次请求继续复用这个连接):
条件: 压测脚本开6000个并发线程模拟6000个并发用户,每个线程连接Workerman 1次,每个连接发送10W请求
结果: 吞吐量:45W/S , cpu利用率:67%
内存:HHVM环境每个进程内存稳定在46M,无内存泄漏
以上压测脚本与WorkerMan运行在同一台机器上,使用的是较低版本的PHP5.3,如果使用PHP7,则性能会再次提高40%左右。
压力测试需要内核调优
参见 附录-内核调优章节