案例

本次测试输出简单的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

请求/秒(-c 200 -n 50000), 数值越大越好

2. 系统负载

压力测试一分钟内完成的负载图

越小越好(-c 100 -n 30000)

3. 内存使用率

测试hello word占用的内存,越小越好.

4. 响应时间

页面的响应时间.单位微妙

5. 调用方法的数量(Facebook XHProf)

单个hello word页面调用了多少方法,zend5620个方法,是不是太臃肿了。

详细的函数调用图

6. 文件数量

打开hellow word用到included or required in 文件的数量.越小越好,zend很多,yii19个,yaf才4个,不快才怪。