Explicación / Interpretación de la salida de ab - Apache HTTP server benchmarking tool

ab -n 2000 -c 100 "http://dominio.com/path/"
 
Benchmarking dominio.com (be patient)
Completed 200 requests
Completed 400 requests
Completed 600 requests
Completed 800 requests
Completed 1000 requests
Completed 1200 requests
Completed 1400 requests
Completed 1600 requests
Completed 1800 requests
Completed 2000 requests
Finished 2000 requests
 
 
Server Software:        nginx			      # Software usado por el servidor.
Server Hostname:        dominio.com	              # Nombre del host.
Server Port:            80			      # Puerto.
 
Document Path:          /es/shop/cart                 # Path
Document Length:        97572 bytes		      # Tamaño del documento (fichero web) solicitado.
 
Concurrency Level:      100			      # Número de peticiones concurrentes.
Time taken for tests:   61.749 seconds                # Duración del test.
Complete requests:      2000                          # Solicitudes completadas.
Failed requests:        2			      # Solicitudes con algún tipo de error.
   (Connect: 0, Receive: 0, Length: 2, Exceptions: 0) # En sitios con contenido dinámicos no todas las respuestas tienen el mismo tamaño, es normal.
Write errors:           0
Non-2xx responses:      2		     # Solicitudes que no han recibido el código http 200.
Total transferred:      196781320 bytes      # Total de bytes transferidos
HTML transferred:       194948856 bytes      # Código HTML transferido.
Requests per second:    32.39 [#/sec] (mean) # Media de peticiones atendidas por segundo durante la prueba.
Time per request:       3087.462 [ms] (mean) # Tiempo medio que el servidor ha tardado en atender a un grupo de peticiones concurrentes
Time per request:       30.875 [ms] (mean, across all concurrent requests) # Tiempo medio que el servidor ha tardado en atender una petición individual.
Transfer rate:          3112.09 [Kbytes/sec] received                      # Kbytes recibidos por segundo
 
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1    2   2.3      1      19   # Tiempo en establecer la conexión (Abrir el socket).
Processing:   694 3020 325.3   3069    3462   # El tiempo que el servidor ha necesitado procese una respuestas.
Waiting:      672 2989 325.2   3038    3435   # Tiempo en obtener los primeros bits de la respuesta.
Total:        697 3022 324.6   3071    3481   # La suma de los tiempos de conexión y Procesamiento
 
Percentage of the requests served within a certain time (ms) # Porcentaje de peticiones atendidas en un tiempo determinado.
  50%   3071
  66%   3120
  75%   3153
  80%   3174
  90%   3228
  95%   3279
  98%   3324
  99%   3352
 100%   3481 (longest request)
 
# Al incrementar el porcentaje de solicitudes atendidas el tiempo de respuesta se va dilatando. (El 100% coincide con el Total de tiempos de conexión).

También es posible hacer test en base al tiempo para saber cuantas peticiones concurrentes puede tramitar en un determinado espacio de tiempo. (ej. 20 solicitudes concurrentes durante un minuto).

ab -c 20 -t 60 http://dominio.com/path/