在 nginx.conf 中设置超时

在 nginx.conf 中设置超时

对于设置 nginx 反向代理网络服务器的超时值,我有两种想法。

A教程Linode 的建议如下:

client_header_timeout  3m;
client_body_timeout    3m;
send_timeout           3m;

然而,教程Digital Ocean 针对同一主题发表的文章建议:

client_body_timeout 12;
client_header_timeout 12;
keepalive_timeout 15;
send_timeout 10;

此外,前者建议:

keepalive_requests 100000;

然而其他优化导师建议:

keepalive_requests 200;

显然,并非所有优化指南都是一样的。对于像我这样的偶然成为服务器管理员的人来说,这很令人困惑。

我知道对我的实际环境进行基准测试会有所帮助,但我想首先从合理的数字开始。

将这些数字设置得非常高或非常低有什么利弊?连接到此特定 Web 应用程序的客户端大多存在连接问题(移动互联网速度慢),这意味着我可能应该从较高的数字开始?或者这不是一个因素?如果能得到关于这些值的建议就太好了。


以防万一,目前我已经在我的 conf 文件中设置了相关参数,如下所示。需要帮助来调整它们:

client_body_timeout 1m;
client_header_timeout 1m;
keepalive_timeout 65;
send_timeout 30s;
keepalive_requests 3000;

答案1

如果不确定,请使用默认设置,直到出现可以追溯到特定设置的问题。默认设置旨在为大多数用户展示的需求提供合理的起点。最适合您的设置取决于您的特定流量。

如果您知道您正在小型 Linode 或 Droplet 上运行,并且提供商提供了操作方法,那么仅在该系统上遵循该操作方法可能会很有用。

仅在看到超时错误时才调整超时设置。这些可能是浏览器中看到的 504 网关超时。您还应该在 Nginx 日志中看到后端连接错误。如果您对这些错误的研究让您相信它们是由超时设置引起的,请更改它们。

相关内容