Primero lancé una prueba sin ninguna optimización. Para esto utilicé una aplicación simple, sin acceso a la base de datos (lo que llaman un "hello world" básico). De esta prueba obtuve como resultado que el framework soportaba 5.5 pedidos por segundo y en promedio cada pedido se resolvía en 1.8 segundos (esto cuenta envío
del pedido, procesamiento de Apache, procesamiento del framework y envío de la respuesta).
Luego, puse un objetivo para bajar los tiempos de respuesta y aumentar los pedidos que se pueden hacer por segundo. El objetivo fue llevarlo al doble, o sea: atender 11 pedidos por segundo y que en promedio, el tiempo de respuesta fuera de 0.9 seg.
Luego de algunas optimizaciones en la inclusión de clases en el index.php, se obtuvieron mejores resultados de los esperados: más de 27 pedidos por segundo y una demora promedio de 367 ms por pedido. A continuación dejo el detalle de los resultados.
Creo que con un poco más de optimización podremos llegar a 40 pedidos por segundo y 200 ms de tiempo promedio por pedido.
C:\wamp\bin\apache\Apache2.2.11\bin>ab -k -n 1000 -c 10 http://localhost/YuppPHPFramework/apli/entrada/index
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)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: Apache/2.2.11
Server Hostname: localhost
Server Port: 80
Document Path: /YuppPHPFramework/apli/entrada/index
Document Length: 33 bytes
Concurrency Level: 10
Time taken for tests: 181.797 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 995
Total transferred: 449790 bytes
HTML transferred: 33000 bytes
Requests per second: 5.50 [#/sec] (mean)
Time per request: 1817.969 [ms] (mean)
Time per request: 181.797 [ms] (mean, across all concurrent
requests)
Transfer rate: 2.42 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.5 0 16
Processing: 1031 1810 445.8 1672 4844
Waiting: 1031 1810 445.9 1672 4844
Total: 1031 1810 445.8 1672 4844
Percentage of the requests served within a certain time (ms)
50% 1672
66% 1828
75% 2063
80% 2344
90% 2516
95% 2641
98% 2719
99% 2828
100% 4844 (longest request)
C:\wamp\bin\apache\Apache2.2.11\bin>ab -k -n 1000 -c 10 http://localhost/YuppPHPFramework/apli/entrada/index
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)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: Apache/2.2.11
Server Hostname: localhost
Server Port: 80
Document Path: /YuppPHPFramework/apli/entrada/index
Document Length: 33 bytes
Concurrency Level: 10
Time taken for tests: 36.891 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 997
Total transferred: 449836 bytes
HTML transferred: 33000 bytes
Requests per second: 27.11 [#/sec] (mean)
Time per request: 368.906 [ms] (mean)
Time per request: 36.891 [ms] (mean, across all concurrent
requests)
Transfer rate: 11.91 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.5 0 16
Processing: 266 367 50.1 359 828
Waiting: 266 367 50.1 359 828
Total: 266 367 50.1 359 828
Percentage of the requests served within a certain time (ms)
50% 359
66% 375
75% 391
80% 391
90% 422
95% 453
98% 516
99% 563
100% 828 (longest request)
No hay comentarios:
Publicar un comentario