1. 程式人生 > >PHP Framework MVC Benchmark 基準測試

PHP Framework MVC Benchmark 基準測試

它的 數量級 現在 dex mpm mar case ilo alt

身邊有朋友在用yaf框架,討論的也聲音也比較多,今天沒事看鳥哥的博客,看到一篇現在PHP主流的幾個框架性能對比,比較有意思,給大家分享一下!

Yaf是用PHP擴展的形式寫的一個PHP框架,也就是以C語言的編寫,性能上要比PHP代碼寫的框架要快一個數量級。在執行效率方面,這個框架很可能會是最高的,因為它的作者就是惠新宸

Case

測試 MVC 中的 Router -> Controller -> Viewer, 輸出 "Hello World" 簡單頁面,測試 MVC 在理想環境、簡單邏輯、框架空載下的性能指標。

3 項指標

1) 在 index.php 中使用 microtime() 和 memory_get_usage() 粗略取得執行時間,內存占用情況
2) 使用 Facebook XHProf 擴展取得詳細的資源占用情況,代碼執行的 function map
3) 並發測試

硬件環境:

CPU: Intel Core i5 750 (2.67GHz x4)
RAM: 4GB

軟件環境:

Debian 6.0.2 x86_64 (2.6.32-5-amd64)

apache 2.2.16
mpm-prefork
mod-php5

php 5.3.6
php-apc 3.1.3p1 (全局統一開啟APC支持)

測試的框架清單:

* zf: Zend Framework
Site: http://framework.zend.com
Ver: 1.11.7

* ci: CodeIgniter
Site: http://codeigniter.com/
Ver: 2.0.2

* yii: Yii Framework
Site: http://www.yiiframework.com/
Ver: 1.1.8

* yaf: Yet Another Framework in PHP Extension
Site: http://code.google.com/p/yafphp/
Ver: 2.0.1

* micromvc: MicroMVC
Site: http://www.micromvc.com/
Ver: 3.1.0

測試代碼用例:

https://github.com/eryx/labs/tree/master/php-framework-benchmark

測試結果:
1. 粗測: 內存占用,響應時間
* zf: Zend Framework

技術分享

* ci: CodeIgniter

技術分享

* yii: Yii Framework

技術分享

* yaf: Yet Another Framework in PHP Extension

技術分享

* micromvc: MicroMVC

技術分享

* all: 匯總對比
內存消耗

技術分享

執行時間 (毫秒)

技術分享

2. XHProf: 執行詳情

* zf: Zend Framework
執行摘要:

技術分享

執行詳圖:

技術分享

* ci: CodeIgniter
執行摘要:
技術分享
執行詳圖:

技術分享

* yii: Yii Framework
執行摘要:
技術分享
執行詳圖:
技術分享

* yaf: Yet Another Framework in PHP Extension
執行摘要:
技術分享
執行詳圖:
技術分享
* micromvc: MicroMVC
執行摘要:
技術分享
執行詳圖:

技術分享

* all: 匯總對比
函數調用量

技術分享

3. 並發測試

ab -c 100 -n 30000

技術分享

ab -c 200 -n 50000

技術分享

看完之後第一反應,yaf的運行傳輸速度都快趕上PHP源碼了,感覺就像只是PHP換了一種方式運行,那這個框架裏邊的東西是否健全?因為還不太了解yaf,不敢評論太多!

PHP Framework MVC Benchmark 基準測試