MixPHP/Yii/CodeIgniter 并发压力测试
来源:互联网 发布:java 触发器 开源 编辑:程序博客网 时间:2024/06/05 19:14
MixPHP 是一个基于 Swoole 的高性能框架,CodeIgniter 是一个元老级的轻量级框架,Yii 是一个非常流行的框架,以下是三个框架的对比。
由于 Yii/CodeIgniter 是基于 Apache/PHP-FPM 的传统框架,如果使用 MixPHP 的正常 Swoole 部署方式来对比,显得有些不公平,由于 MixPHP 同时支持在 Apache/PHP-FPM 中运行,所以此次测试的 MixPHP 是部署在 Apache 之中。
环境
虚拟机: 4 核,1G
使用 ab 工具压测,命令:ab -n 5000 -c 100 URL
Yii
Yii 关闭了 debug,并设置为 pro 环境。
默认控制器代码如下,输出一个 Hello World。
<?phppublic function actionIndex(){ return 'Hello World';}
CodeIgniter
默认控制器代码如下,输出一个 Hello World。
<?phppublic function index(){ echo 'Hello World';}
MixPHP
默认控制器代码如下,输出一个 Hello World。
public function actionIndex(){ return 'Hello World';}
开始测试
- 测试 Yii,QPS: 56.40
C:\Server\apache24vc11\bin>ab -n 5000 -c 100 http://www.b.com/This is ApacheBench, Version 2.3 <$Revision: 1757674 $>Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Licensed to The Apache Software Foundation, http://www.apache.org/Benchmarking www.b.com (be patient)Completed 500 requestsCompleted 1000 requestsCompleted 1500 requestsCompleted 2000 requestsCompleted 2500 requestsCompleted 3000 requestsCompleted 3500 requestsCompleted 4000 requestsCompleted 4500 requestsCompleted 5000 requestsFinished 5000 requestsServer Software: Apache/2.2.32Server Hostname: www.b.comServer Port: 80Document Path: /Document Length: 9 bytesConcurrency Level: 100Time taken for tests: 88.659 secondsComplete requests: 5000Failed requests: 0Total transferred: 1080000 bytesHTML transferred: 45000 bytesRequests per second: 56.40 [#/sec] (mean)Time per request: 1773.170 [ms] (mean)Time per request: 17.732 [ms] (mean, across all concurrent requests)Transfer rate: 11.90 [Kbytes/sec] receivedConnection Times (ms) min mean[+/-sd] median maxConnect: 0 0 1.0 1 29Processing: 14 1765 4200.5 688 48084Waiting: 14 1610 3741.9 682 46690Total: 14 1766 4200.5 688 48084WARNING: The median and mean for the initial connection time are not within a normal deviation These results are probably not that reliable.Percentage of the requests served within a certain time (ms) 50% 688 66% 1087 75% 1400 80% 1657 90% 3029 95% 7665 98% 14760 99% 24300 100% 48084 (longest request)
- 测试 CodeIgniter ,QPS: 144.42
C:\Server\apache24vc11\bin>ab -n 5000 -c 100 http://www.c.com/This is ApacheBench, Version 2.3 <$Revision: 1757674 $>Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Licensed to The Apache Software Foundation, http://www.apache.org/Benchmarking www.c.com (be patient)Completed 500 requestsCompleted 1000 requestsCompleted 1500 requestsCompleted 2000 requestsCompleted 2500 requestsCompleted 3000 requestsCompleted 3500 requestsCompleted 4000 requestsCompleted 4500 requestsCompleted 5000 requestsFinished 5000 requestsServer Software: Apache/2.2.32Server Hostname: www.c.comServer Port: 80Document Path: /Document Length: 8 bytesConcurrency Level: 100Time taken for tests: 34.621 secondsComplete requests: 5000Failed requests: 0Total transferred: 1075000 bytesHTML transferred: 40000 bytesRequests per second: 144.42 [#/sec] (mean)Time per request: 692.419 [ms] (mean)Time per request: 6.924 [ms] (mean, across all concurrent requests)Transfer rate: 30.32 [Kbytes/sec] receivedConnection Times (ms) min mean[+/-sd] median maxConnect: 0 0 0.7 1 22Processing: 8 689 1014.3 480 13324Waiting: 8 686 1012.2 478 13324Total: 9 689 1014.3 480 13325WARNING: The median and mean for the initial connection time are not within a normal deviation These results are probably not that reliable.Percentage of the requests served within a certain time (ms) 50% 480 66% 673 75% 810 80% 902 90% 1238 95% 1808 98% 3336 99% 6037 100% 13325 (longest request)
- 测试 MixPHP,QPS: 440.48
C:\Server\apache24vc11\bin>ab -n 5000 -c 100 http://www.a.com/This is ApacheBench, Version 2.3 <$Revision: 1757674 $>Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Licensed to The Apache Software Foundation, http://www.apache.org/Benchmarking www.a.com (be patient)Completed 500 requestsCompleted 1000 requestsCompleted 1500 requestsCompleted 2000 requestsCompleted 2500 requestsCompleted 3000 requestsCompleted 3500 requestsCompleted 4000 requestsCompleted 4500 requestsCompleted 5000 requestsFinished 5000 requestsServer Software: Apache/2.2.32Server Hostname: www.a.comServer Port: 80Document Path: /Document Length: 12 bytesConcurrency Level: 100Time taken for tests: 11.351 secondsComplete requests: 5000Failed requests: 0Total transferred: 1025000 bytesHTML transferred: 60000 bytesRequests per second: 440.48 [#/sec] (mean)Time per request: 227.026 [ms] (mean)Time per request: 2.270 [ms] (mean, across all concurrent requests)Transfer rate: 88.18 [Kbytes/sec] receivedConnection Times (ms) min mean[+/-sd] median maxConnect: 0 1 0.9 1 25Processing: 4 222 822.4 15 10376Waiting: 4 221 822.4 14 10376Total: 4 222 822.4 16 10376Percentage of the requests served within a certain time (ms) 50% 16 66% 69 75% 214 80% 364 90% 561 95% 762 98% 978 99% 1829 100% 10376 (longest request)
结论
虚拟机文件IO性能太差,Yii 做300并发直接不响应,只好降低到100并发数,同样架构的测试结果 MixPHP 领先。
你也来测试一下吧,https://github.com/mixstart/mixphp
阅读全文
0 0
- MixPHP/Yii/CodeIgniter 并发压力测试
- MixPHP 与原生 Swoole 并发压力测试
- MixPHP 与 Phalcon 数据库并发性能测试
- 并发压力测试
- 并发压力测试
- Jmeter 压力、并发测试
- PHP框架测试(yii、qee、ThinkPHP、CodeIgniter)
- 性能测试之并发压力
- Linux 接口并发压力测试
- 用jmeter进行多用户并发压力测试
- 性能测试解惑之并发压力zt
- SQL SERVER并发压力测试工具
- 性能测试解惑之并发压力
- 性能测试解惑之并发压力
- java模拟并发操作进行压力测试
- java模拟并发操作进行压力测试
- JMeter 之TCP服务器并发压力测试
- 基于ATS的视频服务器并发压力测试
- 10秒一部电影,全球首个5G数据连接完成
- Android开发学习之路--MAC下Android Studio开发环境搭建
- 一文详解脑科学研究与产业发展方向
- 多个按钮监听
- L1-007. 念数字
- MixPHP/Yii/CodeIgniter 并发压力测试
- logback配置详解
- 用RecyclerView打造轮播图控件
- Delphi10.1下FormCreate中动态创建的控件在移动端显示不对的解决办法
- [欧拉回路 最小生成树] UOJ#236 -- IOI2016. railroad
- 合成复用原则
- mysql 根据某个字段将多条记录的某个字段拼接成一个字段
- Android平台WIFI启动流程之一
- 一元多项式加减乘求导微分简单运算