KumbiaPHP Framework Benchmark

De KumbiaPHP Framework Wiki
Revisión del 14:38 27 mar 2009 de Cachi (discusión | contribuciones) (Página creada con 'Comenzamos a publicar una serie de Benchmark que hemos realizado a la version 1.0 Spirit vs (Symfony, Zend y Cake) la intención es mostrar los avances que hemos obtenido con la...')
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)

Comenzamos a publicar una serie de Benchmark que hemos realizado a la version 1.0 Spirit vs (Symfony, Zend y Cake) la intención es mostrar los avances que hemos obtenido con la última versión (Spirit) de kumbiaphp framework.

Seguimos trabajando para mejorar más la velocidad antes de la versión final. Además de velocidad, se han hecho cambios para que también sea todavía más fácil y rápido su uso, al facilitar el reuso de código en diferentes partes y que se podrán compartir con la comunidad.

La Metodología, cada Framework que se le aplico las pruebas se hace utilizando las mas mínima medidas de configuración y control posible, de manera de hacer efectiva un “Hola Mundo”, el enfoque minimalista mide la capacidad de respuesta de los componentes del Framework. No hay código de aplicación para ejecutar el controlador de las acciones en el Framework de cada uno haga lo menos posible para llamar a una vista. Esto nos muestra el máximo rendimiento posible, añadiendo código sólo reducirá la respuesta.

Cada Benchmark de los Framework’s usa los siguientes scripts o equivalentes…

   * Bootstrap.
   * Configuración por defecto.
   * Front-controller ó dispatcher.
   * Page-controller ó action-controller.
   * Una acción sin código, otras que invocan una vista.
   * Vista estática con solo “Hello World!”.

Se utiliza el Apache por referencia “ab” herramienta para la medición de las solicitudes por segundo, en localhost para negar los efectos de latencia de red, con 10 peticiones concurrentes durante 60 segundos, sin APC. El comando es así:

ab -c 10 -t 60 http://localhost/[path]

Servidor

   * Intel(R) Core(TM)2 Duo CPU     T7300  @ 2.00GHz.
   * 3GiB Memoria RAM.
   * 160GiB Disco Duro.
   * Server version: Apache/2.2.11 .
   * S.O. Debian Squeeze.
   * ApacheBench, Version 2.3.

Resultados

Document Path: /phpmark-read-only/baseline/index.html Requests per second: 2124.27 [#/sec] (mean) Document Path: /phpmark-read-only/baseline/index.php Requests per second: 1255.32 [#/sec] (mean) Document Path: /phpmark-read-only/kumbiaphp-1.0/hola_mundo Requests per second: 34.07 [#/sec] (mean) Document Path: /phpmark-read-only/cakephp-1.2.0/benchmark Requests per second: 15.87 [#/sec] (mean) Document Path: /phpmark-read-only/cakephp-1.2.1/benchmark Requests per second: 15.91 [#/sec] (mean) Document Path: /phpmark-read-only/symfony-1.1.6/web/index.php Requests per second: 12.60 [#/sec] (mean) Document Path: /phpmark-read-only/symfony-1.2.1/web/index.php Requests per second: 10.10 [#/sec] (mean) Document Path: /phpmark-read-only/symfony-1.2.2/web/index.php Requests per second: 11.55 [#/sec] (mean) Document Path: /phpmark-read-only/zend-1.6.2/index.php Requests per second: 23.71 [#/sec] (mean) Document Path: /phpmark-read-only/zend-1.7.2/index.php Requests per second: 23.26 [#/sec] (mean) Document Path: /phpmark-read-only/zend-1.7.3/index.php Requests per second: 23.50 [#/sec] (mean)

Gráfica

Benchmark Framework KumbiaPHP vs (Symfony, Zend y CakePHP)

Detalles Resultados

Cachi Testing baseline-html : http://localhost/phpmark-read-only/baseline/index.html This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)


Server Software: Apache/2.2.11 Server Hostname: localhost Server Port: 80

Document Path: /phpmark-read-only/baseline/index.html Document Length: 11 bytes

Concurrency Level: 10 Time taken for tests: 23.537 seconds Complete requests: 50000 Failed requests: 0 Write errors: 0 Total transferred: 16602988 bytes HTML transferred: 550099 bytes Requests per second: 2124.27 [#/sec] (mean) Time per request: 4.707 [ms] (mean) Time per request: 0.471 [ms] (mean, across all concurrent requests) Transfer rate: 688.85 [Kbytes/sec] received

Connection Times (ms)

             min  mean[+/-sd] median   max

Connect: 0 2 0.9 2 9 Processing: 1 3 0.9 3 118 Waiting: 0 2 0.7 2 22 Total: 1 5 1.1 5 118

Percentage of the requests served within a certain time (ms)

 50%      5
 66%      5
 75%      5
 80%      5
 90%      5
 95%      5
 98%      5
 99%      6
100%    118 (longest request)

Cachi Testing baseline-php : http://localhost/phpmark-read-only/baseline/index.php This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)


Server Software: Apache/2.2.11 Server Hostname: localhost Server Port: 80

Document Path: /phpmark-read-only/baseline/index.php Document Length: 11 bytes

Concurrency Level: 10 Time taken for tests: 30.003 seconds Complete requests: 37663 Failed requests: 0 Write errors: 0 Total transferred: 9755494 bytes HTML transferred: 414326 bytes Requests per second: 1255.32 [#/sec] (mean) Time per request: 7.966 [ms] (mean) Time per request: 0.797 [ms] (mean, across all concurrent requests) Transfer rate: 317.53 [Kbytes/sec] received

Connection Times (ms)

             min  mean[+/-sd] median   max

Connect: 0 3 1.9 4 22 Processing: 1 5 3.4 4 109 Waiting: 0 4 3.1 4 109 Total: 1 8 3.7 9 109

Percentage of the requests served within a certain time (ms)

 50%      9
 66%      9
 75%      9
 80%      9
 90%      9
 95%      9
 98%     13
 99%     21
100%    109 (longest request)

Cachi Testing kumbiaphp 1.0 : http://localhost/phpmark-read-only/kumbiaphp-1.0/hola_mundo This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)


Server Software: Apache/2.2.11 Server Hostname: localhost Server Port: 80

Document Path: /phpmark-read-only/kumbiaphp-1.0/hola_mundo Document Length: 10 bytes

Concurrency Level: 10 Time taken for tests: 30.027 seconds Complete requests: 1023 Failed requests: 0 Write errors: 0 Total transferred: 469557 bytes HTML transferred: 10230 bytes Requests per second: 34.07 [#/sec] (mean) Time per request: 293.514 [ms] (mean) Time per request: 29.351 [ms] (mean, across all concurrent requests) Transfer rate: 15.27 [Kbytes/sec] received

Connection Times (ms)

             min  mean[+/-sd] median   max

Connect: 0 1 10.1 0 133 Processing: 56 291 82.4 282 689 Waiting: 55 268 84.0 261 689 Total: 67 292 81.9 283 689

Percentage of the requests served within a certain time (ms)

 50%    283
 66%    309
 75%    329
 80%    343
 90%    384
 95%    436
 98%    535
 99%    598
100%    689 (longest request)

Cachi Testing CakePHP 1.2.0 : http://localhost/phpmark-read-only/cakephp-1.2.0/benchmark This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)


Server Software: Apache/2.2.11 Server Hostname: localhost Server Port: 80

Document Path: /phpmark-read-only/cakephp-1.2.0/benchmark Document Length: 11 bytes

Concurrency Level: 10 Time taken for tests: 30.063 seconds Complete requests: 477 Failed requests: 0 Write errors: 0 Total transferred: 123543 bytes HTML transferred: 5247 bytes Requests per second: 15.87 [#/sec] (mean) Time per request: 630.255 [ms] (mean) Time per request: 63.026 [ms] (mean, across all concurrent requests) Transfer rate: 4.01 [Kbytes/sec] received

Connection Times (ms)

             min  mean[+/-sd] median   max

Connect: 0 0 2.9 0 37 Processing: 161 623 94.1 621 972 Waiting: 147 605 98.0 607 949 Total: 178 623 93.9 622 972

Percentage of the requests served within a certain time (ms)

 50%    621
 66%    653
 75%    674
 80%    688
 90%    732
 95%    768
 98%    849
 99%    896
100%    972 (longest request)

Cachi Testing CakePHP 1.2.1 : http://localhost/phpmark-read-only/cakephp-1.2.1/benchmark This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)


Server Software: Apache/2.2.11 Server Hostname: localhost Server Port: 80

Document Path: /phpmark-read-only/cakephp-1.2.1/benchmark Document Length: 11 bytes

Concurrency Level: 10 Time taken for tests: 30.098 seconds Complete requests: 479 Failed requests: 0 Write errors: 0 Total transferred: 124061 bytes HTML transferred: 5269 bytes Requests per second: 15.91 [#/sec] (mean) Time per request: 628.349 [ms] (mean) Time per request: 62.835 [ms] (mean, across all concurrent requests) Transfer rate: 4.03 [Kbytes/sec] received

Connection Times (ms)

             min  mean[+/-sd] median   max

Connect: 0 2 13.6 0 109 Processing: 188 619 93.1 621 982 Waiting: 188 602 99.7 608 973 Total: 272 621 91.2 621 982

Percentage of the requests served within a certain time (ms)

 50%    621
 66%    658
 75%    678
 80%    692
 90%    731
 95%    763
 98%    821
 99%    841
100%    982 (longest request)

Cachi Testing Symfony 1.1.6 : http://localhost/phpmark-read-only/symfony-1.1.6/web/index.php This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)


Server Software: Apache/2.2.11 Server Hostname: localhost Server Port: 80

Document Path: /phpmark-read-only/symfony-1.1.6/web/index.php Document Length: 541 bytes

Concurrency Level: 10 Time taken for tests: 30.150 seconds Complete requests: 380 Failed requests: 0 Write errors: 0 Total transferred: 375820 bytes HTML transferred: 205580 bytes Requests per second: 12.60 [#/sec] (mean) Time per request: 793.432 [ms] (mean) Time per request: 79.343 [ms] (mean, across all concurrent requests) Transfer rate: 12.17 [Kbytes/sec] received

Connection Times (ms)

             min  mean[+/-sd] median   max

Connect: 0 2 13.8 0 106 Processing: 388 781 101.8 777 1193 Waiting: 382 765 105.5 762 1177 Total: 495 783 101.7 777 1193

Percentage of the requests served within a certain time (ms)

 50%    777
 66%    814
 75%    834
 80%    848
 90%    902
 95%    980
 98%   1030
 99%   1074
100%   1193 (longest request)

Cachi Testing Symfony 1.2.1 : http://localhost/phpmark-read-only/symfony-1.2.1/web/index.php This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)


Server Software: Apache/2.2.11 Server Hostname: localhost Server Port: 80

Document Path: /phpmark-read-only/symfony-1.2.1/web/index.php Document Length: 541 bytes

Concurrency Level: 10 Time taken for tests: 30.105 seconds Complete requests: 304 Failed requests: 0 Write errors: 0 Total transferred: 240160 bytes HTML transferred: 164464 bytes Requests per second: 10.10 [#/sec] (mean) Time per request: 990.280 [ms] (mean) Time per request: 99.028 [ms] (mean, across all concurrent requests) Transfer rate: 7.79 [Kbytes/sec] received

Connection Times (ms)

             min  mean[+/-sd] median   max

Connect: 0 3 20.7 0 175 Processing: 703 974 142.6 949 1841 Waiting: 667 958 141.9 938 1807 Total: 703 977 150.6 951 2015

Percentage of the requests served within a certain time (ms)

 50%    951
 66%   1005
 75%   1037
 80%   1072
 90%   1156
 95%   1251
 98%   1297
 99%   1453
100%   2015 (longest request)

Cachi Testing Symfony 1.2.2 : http://localhost/phpmark-read-only/symfony-1.2.2/web/index.php This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)


Server Software: Apache/2.2.11 Server Hostname: localhost Server Port: 80

Document Path: /phpmark-read-only/symfony-1.2.2/web/index.php Document Length: 541 bytes

Concurrency Level: 10 Time taken for tests: 30.042 seconds Complete requests: 347 Failed requests: 0 Write errors: 0 Total transferred: 274130 bytes HTML transferred: 187727 bytes Requests per second: 11.55 [#/sec] (mean) Time per request: 865.769 [ms] (mean) Time per request: 86.577 [ms] (mean, across all concurrent requests) Transfer rate: 8.91 [Kbytes/sec] received

Connection Times (ms)

             min  mean[+/-sd] median   max

Connect: 0 2 17.8 0 155 Processing: 475 855 106.2 856 1232 Waiting: 473 839 109.8 840 1232 Total: 544 857 108.1 857 1250

Percentage of the requests served within a certain time (ms)

 50%    856
 66%    895
 75%    912
 80%    932
 90%    984
 95%   1026
 98%   1137
 99%   1219
100%   1250 (longest request)

Cachi Testing Zend 1.6.2 : http://localhost/phpmark-read-only/zend-1.6.2/index.php This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)


Server Software: Apache/2.2.11 Server Hostname: localhost Server Port: 80

Document Path: /phpmark-read-only/zend-1.6.2/index.php Document Length: 11 bytes

Concurrency Level: 10 Time taken for tests: 30.029 seconds Complete requests: 712 Failed requests: 0 Write errors: 0 Total transferred: 184408 bytes HTML transferred: 7832 bytes Requests per second: 23.71 [#/sec] (mean) Time per request: 421.757 [ms] (mean) Time per request: 42.176 [ms] (mean, across all concurrent requests) Transfer rate: 6.00 [Kbytes/sec] received

Connection Times (ms)

             min  mean[+/-sd] median   max

Connect: 0 1 9.2 0 97 Processing: 164 418 81.9 414 805 Waiting: 121 393 83.3 390 797 Total: 164 419 81.3 414 805

Percentage of the requests served within a certain time (ms)

 50%    414
 66%    445
 75%    463
 80%    474
 90%    518
 95%    557
 98%    622
 99%    702
100%    805 (longest request)

Cachi Testing Zend 1.7.2 : http://localhost/phpmark-read-only/zend-1.7.2/index.php This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)


Server Software: Apache/2.2.11 Server Hostname: localhost Server Port: 80

Document Path: /phpmark-read-only/zend-1.7.2/index.php Document Length: 11 bytes

Concurrency Level: 10 Time taken for tests: 30.008 seconds Complete requests: 698 Failed requests: 0 Write errors: 0 Total transferred: 180782 bytes HTML transferred: 7678 bytes Requests per second: 23.26 [#/sec] (mean) Time per request: 429.911 [ms] (mean) Time per request: 42.991 [ms] (mean, across all concurrent requests) Transfer rate: 5.88 [Kbytes/sec] received

Connection Times (ms)

             min  mean[+/-sd] median   max

Connect: 0 2 12.5 0 131 Processing: 161 425 84.2 417 884 Waiting: 125 402 83.6 395 884 Total: 208 427 83.0 419 884

Percentage of the requests served within a certain time (ms)

 50%    419
 66%    446
 75%    464
 80%    475
 90%    514
 95%    565
 98%    688
 99%    753
100%    884 (longest request)

Cachi Testing Zend 1.7.3 : http://localhost/phpmark-read-only/zend-1.7.3/index.php This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)


Server Software: Apache/2.2.11 Server Hostname: localhost Server Port: 80

Document Path: /phpmark-read-only/zend-1.7.3/index.php Document Length: 11 bytes

Concurrency Level: 10 Time taken for tests: 30.003 seconds Complete requests: 705 Failed requests: 0 Write errors: 0 Total transferred: 182595 bytes HTML transferred: 7755 bytes Requests per second: 23.50 [#/sec] (mean) Time per request: 425.573 [ms] (mean) Time per request: 42.557 [ms] (mean, across all concurrent requests) Transfer rate: 5.94 [Kbytes/sec] received

Connection Times (ms)

             min  mean[+/-sd] median   max

Connect: 0 2 17.0 0 185 Processing: 131 421 88.3 415 828 Waiting: 75 398 91.8 393 828 Total: 131 423 86.8 416 828

Percentage of the requests served within a certain time (ms)

 50%    415
 66%    446
 75%    465
 80%    478
 90%    519
 95%    574
 98%    640
 99%    752
100%    828 (longest request)