超级计算机囧囧囧's Archivers

From admin on 2014-03-17 22:35:18

yii、yaf、CI等php框架性能对比

案例

本次测试输出简单的hello word,简单MVC逻辑,(Router -> Controller -> Viewer),没有数据库连接,没有任何逻辑.

硬件平台
CPU: Intel Core i5 750 (2.67GHz x4)
RAM: 4GB

软件环境

Debian 6.0.4 x86_64 (2.6.32-41)

apache 2.2.16 (mpm-prefork,mod-php5)

php 5.3.10
php-apc 3.1.9 (Optimization for include/require)

Copy all projects to /dev/shm/* (Optimization for files read/write)

PHP框架列表

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

* zf2: Zend Framework
Site: http://framework.zend.com
Site: https://github.com/zendframework/ZendSkeletonApplication
Ver: 2.0.0-beta1

* symfony: symfony
Site: http://www.symfony-project.org
Ver: 2.0.0

* cakephp: CakePHP
Site: http://cakephp.org
Ver: 2.0.4

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

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

* micromvc4: MicroMVC
Site: http://www.micromvc.com
Ver: 4.0.0

* laravel: Laravel, A PHP Framework For Web Artisans
Site: http://laravel.com
Ver: 2.0.2

* slim: Slim Framework
Site: http://www.slimframework.com
Ver: 1.5.0

* yaf: Yet Another Framework in PHP Extension
Site: http://code.google.com/p/yafphp
Ver: 2.1.3-beta (yaf.cache_config=1)

* FuelPHP: Simple, Flexible, Community driven Web Framework
Site: http://fuelphp.com/
Ver: 1.1

* ColaPHP:
Site: http://code.google.com/p/colaphp/
Ver: 1.2-ga

# XHProf: A Hierarchical Profiler for PHP
Site: http://pecl.php.net/xhprof
Ver: 0.9.2

# The source code of this testing:
Source: https://github.com/eryx/php-framework-benchmark

1. Apache Benchmark

Requests pre second (-c 100 -n 30000), the bigger is better
<img class="aligncenter size-full wp-image-2252" alt="ab-c100-n30000" src="http://www.sunhaibing.com/wp-content/uploads/2014/03/ab-c100-n30000.png" width="800" height="450" />

请求/秒(-c 200 -n 50000), 数值越大越好
<img class="aligncenter size-full wp-image-2253" alt="ab-c200-n50000" src="http://www.sunhaibing.com/wp-content/uploads/2014/03/ab-c200-n50000.png" width="800" height="450" />

2. 系统负载
压力测试一分钟内完成的负载图
越小越好(-c 100 -n 30000)
<img class="aligncenter size-full wp-image-2255" alt="loadavg" src="http://www.sunhaibing.com/wp-content/uploads/2014/03/loadavg.png" width="800" height="450" />

3. 内存使用率
测试hello word占用的内存,越小越好.
<img class="aligncenter size-full wp-image-2257" alt="memory-usage" src="http://www.sunhaibing.com/wp-content/uploads/2014/03/memory-usage.png" width="800" height="450" />

4. 响应时间
页面的响应时间.单位微妙
<img class="aligncenter size-full wp-image-2258" alt="response-time" src="http://www.sunhaibing.com/wp-content/uploads/2014/03/response-time.png" width="800" height="450" />

5. 调用方法的数量(Facebook XHProf)
单个hello word页面调用了多少方法,zend5620个方法,是不是太臃肿了。
<img class="aligncenter size-full wp-image-2259" alt="number-of-function-calls" src="http://www.sunhaibing.com/wp-content/uploads/2014/03/number-of-function-calls.png" width="800" height="450" />

详细的函数调用图



Symfony2

Zend Framework 1.11.1



Zend Framework 2.0.0-beta1

CakePHP 2.0.4



CodeIgniter 2.1.0

Yii Framework 1.1.8



Slim 1.5

Laravel 2.0.2



MicroMVC 4.0.0

Yaf 2.1.3-beta



FuelPHP 1.1

ColaPHP 1.2




6. 文件数量
打开hellow word用到included or required in 文件的数量.越小越好,zend很多,yii19个,yaf才4个,不快才怪。
<img class="aligncenter size-full wp-image-2260" alt="number-of-files" src="http://www.sunhaibing.com/wp-content/uploads/2014/03/number-of-files.png" width="800" height="450" />

查看完整版本: yii、yaf、CI等php框架性能对比

Tags:


©超级计算机囧囧囧