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