Hoy vamos a hablar de una herramienta que en muchos caso pasa desapercibida, la cual esta presente en todos los servidores Apache, esta herramienta se llama ApacheBench. Podemos utilizar esta herramienta para medir el rendimiento de tu servidor o de cualquier otro (aunque no utilice Apache).
Cabe destacar que su uso es muy muy simple, pues se basa en la ejecución del comando ab y un par de parámetros.
Para ejecutarlo solo tendremos que meter el siguiente ejemplo en nuestra terminal (del servidor):
ab -n 100 -c 10 http://www.lignux.com/
Con este comando generaremos 100 llamadas a la web en cuestión, distribuidas en 10 hilos. Gracias a ello podremos comprobar como responde nuestro servidor/vps, si rechaza alguna conexión, si se bloquea, los ratios de tiempo de respuesta...
Con este comando generaremos 100 llamadas a la web en cuestión, distribuidas en 10 hilos. Gracias a ello podremos comprobar como responde nuestro servidor/vps, si rechaza alguna conexión, si se bloquea, los ratios de tiempo de respuesta...
[testimonial name="LiGNUx" site="Website" url="http://www.lignux.com"]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 www.lignux.com (be patient)…..done
Server Software: apache/2.4.10
Server Hostname: www.lignux.com
Server Port: 80
Document Path: /
Document Length: 117491 bytes
Concurrency Level: 10
Time taken for tests: 67.020 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 11794800 bytes
HTML transferred: 11749100 bytes
Requests per second: 1.49 [#/sec] (mean)
Time per request: 6702.019 [ms] (mean)
Time per request: 670.202 [ms] (mean, across all concurrent requests)
Transfer rate: 171.86 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 59 277 377.3 107 1117
Processing: 779 6216 5759.9 4791 37478
Waiting: 110 328 552.0 176 3922
Total: 876 6493 5822.2 5380 38521
Percentage of the requests served within a certain time (ms)
50% 5380
66% 6488
75% 7425
80% 8405
90% 11955
95% 15668
98% 30385
99% 38521
100% 38521 (longest request)[/testimonial]
Nada más ejecutar el comando nos arrojara un resultado que sigue el esquema anterior.
Cabe destacar que ApacheBench utiliza un user agent especifico para hacer las solicitudes, el cual ya esta ignorado en la mayoría de los proveedores de estadísticas, aunque por lo visto con Webalizer o Awstats puede causas sesgos de información pues las valoran.