Solo necesitamos instalar el paquete de Apache, no necesitamos iniciarlo ni configurar algo más, con instalarlo bastará.
Usando Apache Benchmark
Lo que haremos será enviar un número determinado de peticiones (100) en grupos de varias (de 20 en 20) a un sitio determinado. El resultado lo guardaremos en un archivo .csv (resultado.csv) para luego procesarlo con GNUPloit, la lÃnea serÃa:
ab -g resultados.csv -n 100 -c 20 http://nuestro-sitio-web.com/
Es muy importante poner el / final en la URL del sitio a medir.
Este es el output o log que me muestra cuando hago la prueba a un sitio en mi red:
This is ApacheBench, Version 2.3 <$Revision: 1638069 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking gutl.jovenclub.cu (be patient).....done
Server Software:Â Â Â Â Â Â Â nginx
Server Hostname:Â Â Â Â Â Â Â gutl.jovenclub.cu
Server Port:Â Â Â Â Â Â Â Â Â Â Â 80Document Path:Â Â Â Â Â Â Â Â Â /
Document Length:Â Â Â Â Â Â Â 206 bytes
Concurrency Level:Â Â Â Â Â 20
Time taken for tests:Â Â 0.101 seconds
Complete requests:Â Â Â Â Â 100
Failed requests:Â Â Â Â Â Â Â 27
(Connect: 0, Receive: 0, Length: 27, Exceptions: 0)
Non-2xx responses:Â Â Â Â Â 73
Total transferred:Â Â Â Â Â 1310933 bytes
HTML transferred:Â Â Â Â Â Â 1288952 bytes
Requests per second:Â Â Â 993.24 [#/sec] (mean)
Time per request:Â Â Â Â Â Â 20.136 [ms] (mean)
Time per request:Â Â Â Â Â Â 1.007 [ms] (mean, across all concurrent requests)
Transfer rate:Â Â Â Â Â Â Â Â Â 12715.49 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median  max
Connect:Â Â Â Â Â Â Â 0Â Â Â 1Â Â 0.2Â Â Â Â Â 1Â Â Â Â Â Â 1
Processing:Â Â Â Â 1Â Â 17Â 24.8Â Â Â Â Â 4Â Â Â Â Â 86
Waiting:Â Â Â Â Â Â Â 1Â Â 15Â 21.5Â Â Â Â Â 4Â Â Â Â Â 76
Total:Â Â Â Â Â Â Â Â Â 1Â Â 18Â 24.8Â Â Â Â Â 5Â Â Â Â Â 87
Percentage of the requests served within a certain time (ms)
50%Â Â Â Â Â 5
66%Â Â Â Â Â 6
75%Â Â Â Â 22
80%Â Â Â Â 41
90%Â Â Â Â 62
95%Â Â Â Â 80
98%Â Â Â Â 87
99%Â Â Â Â 87
100%Â Â Â Â 87 (longest request)
Les he marcado en rojo lo que considero yo, es lo más importante, que viene siendo más o menos:
Datos del servidor que estamos probando, asà como la URL en cuestión.
Cantidad de peticiones por segundo.
Cuantos milisegundos demoró el servidor en atender la petición que más demoró, o sea, la que más tardó en ser atendida.
Para poner en una imagen este output, o sea, en un medio más visual y que muchas veces, es todo lo que los directivos logran entender … para ello usaremos como ya dije antes, GNUPlot
En la misma carpeta donde tenemos el archivo resultados.csv (que recuerdan, acabamos de generar con el comando anterior) vamos a crear un archivo llamado gnuplot.p:
set terminal png size 600
set output "resultados.png"
set title "100 peticiones, 20 peticiones concurrentes"
set size ratio 0.6
set grid y
set xlabel "peticiones"
set ylabel "tiempo de respuesta (ms)"
plot "resultados.csv" using 9 smooth sbezier with lines title "gutl.jovenclub.cu"
Les he señalado en rojo lo que deberÃan revisar siempre. O sea y de arriba hacia abajo: