Como ejecutar pruebas de rendimiento sobre Apache Server

2 Comments

Necesito optimizar el rendimiento de tomcat y apache, ambos instalados en un servidor linux vps. De por si el servidor Web Apache viene con una herramienta para realizar benchmarks de las peticiones a las paginas del servicio web. Esta utilidad llamada Apache HTTP server benchmarking tool se ejecuta con el comando ab .

Con ab podemos automatizar las peticiones o llamadas a paginas tanto estaticas como paginas PHP dinamicas. Incluso funciona con apache en windows, sin importar si es un windows server 2008 o un sistema Linux.

Luego de instalar servidor apache 2 con soporte de PHP nos vamos a la linea de comandos y ejecutamos la herramienta:

:~$ ab -n 100000 http://SERVIDOR/

El comando anterior hara 100 mil peticiones al SERVIDOR indicado, y nos devolvera el resultado de la prueba de benchmark. En el ejemplo siguiente lo he ejecutado en mi maquina local:

:~$ ab -n 100000 http://localhost/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, 
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 10000 requests
Completed 20000 requests
Completed 30000 requests
Completed 40000 requests
Completed 50000 requests
Completed 60000 requests
Completed 70000 requests
Completed 80000 requests
Completed 90000 requests
Completed 100000 requests
Finished 100000 requests


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

Document Path:          /
Document Length:        1357 bytes

Concurrency Level:      1
Time taken for tests:   249.201 seconds
Complete requests:      100000
Failed requests:        0
Write errors:           0
Total transferred:      154800000 bytes
HTML transferred:       135700000 bytes
Requests per second:    401.28 [#/sec] (mean)
Time per request:       2.492 [ms] (mean)
Time per request:       2.492 [ms] (mean, across all concurrent requests)
Transfer rate:          606.63 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:     1    2   1.9      1     219
Waiting:        1    1   1.2      1     198
Total:          1    2   1.9      1     219

Percentage of the requests served within a certain time (ms)
  50%      1
  66%      2
  75%      3
  80%      4
  90%      5
  95%      6
  98%      8
  99%      8
 100%    219 (longest request)



2 Replies to “Como ejecutar pruebas de rendimiento sobre Apache Server”

  1. Me gustaria poder poner a servicio de todos lo que me sirvicio durante varios meses .. que fue agileload

Deja tus preguntas o comentarios