Para hacer algunas pruebas de carga, para mi propia curiosidad, en mi servidor ejecuté:
ab -kc 50 -t 200 http://localhost/index.php
Esto abre 50 conexiones de mantenimiento durante 200 segundos y simplemente cierra mi servidor con solicitudes de index.php
En mis resultados, obtengo:
Concurrency Level: 50
Time taken for tests: 200.007 seconds
Complete requests: 33106
Failed requests: 32951
(Connect: 0, Receive: 0, Length: 32951, Exceptions: 0)
Write errors: 0
Keep-Alive requests: 0
Total transferred: 1948268960 bytes
HTML transferred: 1938001392 bytes
Requests per second: 165.52 [#/sec] (mean)
Time per request: 302.071 [ms] (mean)
Time per request: 6.041 [ms] (mean, across all concurrent requests)
Transfer rate: 9512.69 [Kbytes/sec] received
Tenga en cuenta las solicitudes "fallidas" 32951. No puedo resolver esto.
Mientras se ejecutaba la prueba, pude acceder a mi sitio web desde la computadora de mi casa perfectamente, aunque los tiempos de carga de la página en la parte inferior de la página se informaron como .5 en lugar del .02 habitual. Sin embargo, nunca tuve una solicitud fallida.
Entonces, ¿por qué AB informa que la mitad de las conexiones fallan? ¿Y qué significa "Longitud:" en ese contexto?