Ich habe einen ziemlich kleinen VPS auf AWS (EC2 t2.nano), auf dem ein Nginx-Server läuft. Manchmal ist ein sudo service nginx reload
oder mehrere Server nginx -t
rasend schnell, aber die meiste Zeit ist er ohne Belastung des Servers furchtbar langsam (> 60 Sekunden).
Es sind ca. 10 Serverblöcke als Proxys definiert, 3 davon mit aktiviertem SSL.
nginx-t -v
gibt keinen Hinweis darauf, warum es so langsam ist, ich kann in den Protokollen nichts finden. RAM- und CPU-Auslastung sind dabei ziemlich gering.
Wie kann ich herausfinden, was das Neuladen von Nginx so langsam macht? Was sind die häufigsten Dinge, nach denen ich suchen könnte? DNS-Auflösungen? Meine Upstreams sind alle definiert als z. B.
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;
}
}