php-framework-benchmark icon indicating copy to clipboard operation
php-framework-benchmark copied to clipboard

PHP Framework Benchmark

How to run this benchmark

Software Environment
    apache 2.2.x (mpm-prefork,mod-php5)
    php 5.3.x
    php-apc 3.1.9 (Optimization for include/require)
    php-curl
    php-gd
    php-intl
    php-xhprof (A Hierarchical Profiler for PHP)

Download the Source
    git clone git://github.com/eryx/php-framework-benchmark.git

Copy all projects to /dev/shm/* (Optimization for files read/write)
    cp -rp php-framework-benchmark /dev/shm/

Apache settings
    cd /dev/shm/php-framework-benchmark
    Debian/Ubuntu
        cp ./apache-pfb.conf /etc/apache2/sites-enabled/    
        chown -R www-data:www-data .
    CentOS 
        cp ./apache-pfb.conf /etc/httpd/conf.d/ 
        chown -R apache:apache .
    Restart Apache Server 
    
Hosts settings
    cd php-framework-benchmark
    cat ./hosts-pfb >> /etc/hosts 
    
Confirm all sites are available
    http://zf.pfb.example.com/?debug=1
    http://zf2.pfb.example.com/?debug=1
    http://ci.pfb.example.com/?debug=1
    http://yii.pfb.example.com/?debug=1
    http://micromvc4.pfb.example.com/?debug=1
    http://cakephp.pfb.example.com/?debug=1
    http://symfony2.pfb.example.com/?debug=1
    http://yaf.pfb.example.com/?debug=1
    http://laravel.pfb.example.com/?debug=1
    http://slim.pfb.example.com/?debug=1
    http://colaphp.pfb.example.com/?debug=1
    http://fuelphp.pfb.example.com/?debug=1

Run the benchmark scripts
    php bench.php -c 100 -n 5000 (clients:100, numbers:5000)   
   
    About 1~3 hours later, all of the test data be saved in the ./result-*

@2012-05-18

  • Optimized configuration for symfony2 (Commit By https://github.com/Smart-Core) Patch https://github.com/eryx/php-framework-benchmark/pull/2

@2012-12-18 fuelphp 1.4 ci 2.1.3 cola - doophp - kohana 3.3.0

@2012-02-29

  • 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

@2011-12-01

  • 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.6

  • 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)

XHProf: A Hierarchical Profiler for PHP

Site:   http://pecl.php.net/xhprof
Ver:    0.9.2

Test report:

http://www.ruilog.com/blog/view/b6f0e42cf705.html

@2011-07-01

  • 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

  • proem: The Proem Framework Site: http://proemframework.org Ver: 0.5.1 pre-alpha

XHProf: A Hierarchical Profiler for PHP

Site:   http://pecl.php.net/xhprof
Ver:    0.9.2

Test report:

http://www.ruilog.com/blog/view/5271.html