nginx 错误:上游超时(110:连接超时)

nginx 错误:上游超时(110:连接超时)

我有一台带有 5 个后端服务器的 nginx 服务器。我们每秒处理大约 400-500 个请求。我开始收到大量“上游超时”错误(110:连接超时)

error.log 中的错误字符串如下所示

2011/01/10 21:59:46 [error] 1153#0: *1699246778 upstream timed out (110: Connection timed out) while reading response header from upstream, client: {IP}, server: {domain}, request: "GET {URL} HTTP/1.1", upstream: "http://{backend_server}:80/{url}", host: "{domain}", referrer: "{referrer}"

有没有关于如何调试此类错误的建议。我找不到 munin 插件来检查上游错误的数量。有时每天的错误数量太高,有时是一个更合适的 3 位数。munin 图表可能会帮助我们找出任何模式或与其他任何东西的相关性

如何才能使此类错误的数量为零

答案1

正如 Martin 所说,这个错误属于您的后端,尽管您可以确保不要在失败的后端上排队太多请求,并使用 haproxy 及其排队和健康检查功能很好地了解后端状态。在 nginx ($upstream_response_time) 中记录上游响应时间也会有所帮助。

答案2

我遇到了类似的问题,但我的问题是由于/etc/hosts我的域名没有正确设置造成的。

我需要添加 FQDN 以及与我的域的 IP 地址关联的主机名。例如,

192.168.100.57 support.domain.com support

请注意 IP 如何映射到 FQDN,以及它的主机名。

答案3

检查后端服务器的日志。问题可能出在网络上,但更有可能是后端服务器耗时太长而超时。

相关内容