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

Tob*_*obi 5 optimization nginx

我在 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;
     }
}
Run Code Online (Sandbox Code Playgroud)