我在 AWS (EC2 t2.nano) 上有一個非常小的 VPS,它運行著 nginx 伺服器。雖然有時 asudo service nginx reload
或nginx -t
非常快,但大多數時候它在伺服器上沒有任何負載的情況下非常慢(> 60 秒)。
有大約 10 個伺服器區塊定義為代理,其中 3 個啟用了 ssl。
nginx-t -v
沒有給出任何線索,為什麼這麼慢,我在日誌中找不到任何內容。在此期間 RAM 和 CPU 使用率相當低。
我如何調查是什麼導致 nginx 的重新加載如此緩慢,我可以尋找哪些常見的東西? DNS 結果?我的上游全部定義為例如
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;
}
}