摘要:由于是基于的傳統框架,如果使用的正常部署方式來對比,顯得有些不公平,由于同時支持在中運行,所以此次測試的是部署在之中。你也來測試一下吧,
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 關閉了 debug,并設置為 pro 環境。
默認控制器代碼如下,輸出一個 Hello World。
CodeIgniter默認控制器代碼如下,輸出一個 Hello World。
MixPHP默認控制器代碼如下,輸出一個 Hello World。
public function actionIndex() { return "Hello World"; }開始測試測試 Yii,QPS: 56.40
C:Serverapache24vc11in>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 requests Completed 1000 requests Completed 1500 requests Completed 2000 requests Completed 2500 requests Completed 3000 requests Completed 3500 requests Completed 4000 requests Completed 4500 requests Completed 5000 requests Finished 5000 requests Server Software: Apache/2.2.32 Server Hostname: www.b.com Server Port: 80 Document Path: / Document Length: 9 bytes Concurrency Level: 100 Time taken for tests: 88.659 seconds Complete requests: 5000 Failed requests: 0 Total transferred: 1080000 bytes HTML transferred: 45000 bytes Requests 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] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 1.0 1 29 Processing: 14 1765 4200.5 688 48084 Waiting: 14 1610 3741.9 682 46690 Total: 14 1766 4200.5 688 48084 WARNING: 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:Serverapache24vc11in>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 requests Completed 1000 requests Completed 1500 requests Completed 2000 requests Completed 2500 requests Completed 3000 requests Completed 3500 requests Completed 4000 requests Completed 4500 requests Completed 5000 requests Finished 5000 requests Server Software: Apache/2.2.32 Server Hostname: www.c.com Server Port: 80 Document Path: / Document Length: 8 bytes Concurrency Level: 100 Time taken for tests: 34.621 seconds Complete requests: 5000 Failed requests: 0 Total transferred: 1075000 bytes HTML transferred: 40000 bytes Requests 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] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.7 1 22 Processing: 8 689 1014.3 480 13324 Waiting: 8 686 1012.2 478 13324 Total: 9 689 1014.3 480 13325 WARNING: 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:Serverapache24vc11in>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 requests Completed 1000 requests Completed 1500 requests Completed 2000 requests Completed 2500 requests Completed 3000 requests Completed 3500 requests Completed 4000 requests Completed 4500 requests Completed 5000 requests Finished 5000 requests Server Software: Apache/2.2.32 Server Hostname: www.a.com Server Port: 80 Document Path: / Document Length: 12 bytes Concurrency Level: 100 Time taken for tests: 11.351 seconds Complete requests: 5000 Failed requests: 0 Total transferred: 1025000 bytes HTML transferred: 60000 bytes Requests 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] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 1 0.9 1 25 Processing: 4 222 822.4 15 10376 Waiting: 4 221 822.4 14 10376 Total: 4 222 822.4 16 10376 Percentage 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/m...
| Yii | 56.40 QPS
| CodeIgniter | 144.42 QPS
| MixPHP | 440.48 QPS
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30700.html
摘要:下面就性能測試的概念分類等知識點進行總結學習。綜合數據量測試指和壓力性能測試負載性能測試疲勞性能測試相結合的綜合測試。 性能測試無論是在考試還是工作中,都是一個經常出現的話題,性能測試有助于確認被測系統是否能夠支持性能需求,以及預期的負載增長等。性能測試不只是關注不同負載場景下的響應時間等指標,它也要通過測試來發現在不同負載場景下會出現的,例如速度變慢、內存泄漏等問題的原因。下面就...
摘要:平時進行接口壓力測試時會用到一個的工具。下載地址解壓后進入雙擊即可進入可以設置中文很良心呀開始進入正題,哈哈壓力測試新建一個測試計劃創建線程組值得一提的是在設置的時間范圍內請求完畢。 ...
閱讀 3143·2021-11-23 10:02
閱讀 3118·2021-11-16 11:53
閱讀 3093·2021-09-23 11:21
閱讀 3369·2019-08-30 13:02
閱讀 1622·2019-08-29 16:18
閱讀 1557·2019-08-29 12:55
閱讀 1457·2019-08-26 12:24
閱讀 2085·2019-08-26 10:36