`nginx reload` 和 `nginx -t` 非常慢 - 如何調查

`nginx reload` 和 `nginx -t` 非常慢 - 如何調查

我在 AWS (EC2 t2.nano) 上有一個非常小的 VPS,它運行著 nginx 伺服器。雖然有時 asudo service nginx reloadnginx -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;
     }
}

相關內容