Uso de ab para comparar nginx: restablecimiento de la conexión por parte del par (54)

Uso de ab para comparar nginx: restablecimiento de la conexión por parte del par (54)

Recientemente actualicé a nginx 1.0.8 e intenté comparar el rendimiento de las páginas dinámicas almacenadas en caché (inicialmente servidas por una aplicación Django a través de proxy_pass) y de las páginas estáticas. En ambos casos, nginx no atenderá más de 3 o 4 solicitudes (incluso sin conexiones simultáneas), por lo que ab informa casi de inmediato:

apr_socket_recv: Connection reset by peer (54)

Sólo cuando se elige un máximo de 4 (o menos) solicitudes ab finaliza con éxito.

¿Porqué es eso? Intenté aumentar la cantidad de procesos de trabajo (sin suerte), pero supongo que nginx debería ser capaz de atender más de 4 solicitudes sin modificar ninguna variable de configuración. ¿Podría ser que accidentalmente activé algún tipo de mecanismo de protección de DOS?

Respuesta1

Estaba teniendo el mismo problema al abejecutar pruebas localmente en una aplicación Node.JS simple. Una solución que encontré fue usar ab -rla opción que indica Don't exit on socket receive errors.

Pero la causa subyacente de este error es la cantidad limitada de enchufes abiertos que puede tener en su caja. Si está utilizando OSx, puede consultar esta respuesta para establecer números más altos en estos límites:

Cómo aumentar los límites de sockets en OSX para pruebas de carga

información relacionada