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

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

我在 AWS(EC2 t2.nano)上有一个非常小的 VPS,正在运行一个 nginx 服务器。虽然有时sudo 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;
     }
}

相关内容