Tengo un VPS bastante pequeño en AWS (EC2 t2.nano) que ejecuta un servidor nginx. Si bien a veces un sudo service nginx reload
o nginx -t
es increíblemente rápido, la mayoría de las veces es terriblemente lento (>60 segundos) sin ninguna carga en el servidor.
Hay ~10 bloques de servidores definidos como servidores proxy, 3 de ellos con SSL habilitado.
nginx-t -v
No da ninguna pista de por qué es tan lento. No puedo encontrar nada en los registros. El uso de RAM y CPU es bastante bajo durante ese tiempo.
¿Cómo puedo investigar qué hace que una recarga de nginx sea tan lenta? ¿Cuáles son las cosas comunes que podría buscar? ¿Resoluciones DNS? Mis aguas arriba están todas definidas como, por ejemplo
upstream ent-pbmcom {
ip_hash; # for sticky sessions
server 10.0.2.52:8080;
}
...
server {
...
location / {
add_header X-Block "ent-pbmcom";
add_header X-Upstream $upstream_addr;
add_header X-Requested-Host '$host';
proxy_pass http://ent-pbmcom;
proxy_set_header X-Real-IP $remote_addr; # http://wiki.nginx.org/HttpProxyModule
proxy_set_header Host $host; # pass the host header - http://wiki.nginx.org/HttpProx$
proxy_http_version 1.1; # recommended with keepalive connections - http://nginx.org/$
# WebSocket proxying - from http://nginx.org/en/docs/http/websocket.html
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_redirect off;
}
}