Nginx/Gunicorn tarda demasiado en responder

Nginx/Gunicorn tarda demasiado en responder

Tengo una configuración de la aplicación Django para servir archivos estáticos a través de Nginx y el flujo ascendente que se ejecuta a través de Gunicorn para ejecutar la aplicación Django con una base de datos PSQL que reside en un servidor dedicado.
El problema es que el sitio tarda demasiado en responder, incluso para la página de inicio, que no requiere un viaje a la base de datos.
Un detalle importante a tener en cuenta es que cuando reinicio el servicio de supervisor (que es responsable de dos procesos, uno es gunicorn y otro apio), obtengo respuestas rápidas para un máximo de 3 solicitudes.
Después de esas 3 solicitudes, la aplicación vuelve a dejar de responder.

En cuanto a la configuración, Nginx está configurado con tiempos de espera (los 3: conectar, leer y enviar) establecidos en 300.
Gunicorn tiene el mismo tiempo de espera y está configurado para tener 3 trabajadores ejecutándose.

La aplicación se ejecuta en un VPS con una única CPU y 1 GB de memoria.
A continuación se muestra la salida deiostatopara estadísticas básicas.

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.49    0.00    0.44    0.03    3.21   94.83

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
xvda              0.74         3.23        12.79    1023355    4054257'

¿Qué podría estar causando este comportamiento?

Respuesta1

Como menciona Tero Kilkanen en los comentarios, resulta que el problema era el código mismo.

Estaba bombardeando el servidor con solicitudes para lograr algo parecido a una aplicación en tiempo real y esto, a su vez, hizo que todo el servidor no estuviera disponible para atender otras solicitudes.
Mirar las estadísticas del servidor no ayudó a dilucidar el problema ya que todas las métricas mostraban que el servidor estaba disponible para trabajar.

Entonces, si encuentra un problema de este tipo, consulte sus registros de Nginx para detectar múltiples solicitudes en un intervalo corto.

información relacionada