如何解决 Varnish FetchError "Timed out reusing backend connection"
How to resolve Varnish FetchError "Timed out reusing backend connection"
我经常看到错误 Varnish FetchError“重用后端连接超时”。检查了几个博客,但没有找到任何解决方案。你能帮忙吗?
- BereqHeader 接受编码:gzip
- BereqHeader X-清漆:37849780
- VCL_call BACKEND_FETCH
- VCL_return 获取
- 后端打开 36 NODEJS_2 xx.xx.xx.xx 9000 yy.yy.yy.yy 43309
- 时间戳:1605444526.456709 0.000102 0.000102
- FetchError 重用后端连接超时
- 后端关闭 36 NODEJS_2
- 时间戳:1605444571.456893 45.000285 45.000183
- 时间戳错误:1605444571.456900 45.000292 0.000006
- BerespProtocol HTTP/1.1
- BerespStatus 503
- BerespReason 后端获取失败
- BerespHeader 日期:2020 年 11 月 15 日,星期日 12:49:31 GMT
- BerespHeader 服务器:清漆
- VCL_call BACKEND_ERROR
- BerespHeader 内容类型:text/html;字符集=utf-8
- BerespHeader 重试后:5
- VCL_return 交付
- 存储 malloc 瞬态
- 长度 285
- BereqAcct 2940 185 3125 0 0 0
- 结束
您的 VSL 输出中的 Timestamp Beresp: 1605444571.456893 45.000285 45.000183
标记表明您的后端用了 45.000183
秒来生成响应,这触发了 first_byte_timeout
.
实际上,您的后端可能需要超过 45 秒才能生成输出,但 Varnish 在达到超时后就放弃了。
以下是您的选择:
- 将
first_byte_timeout
运行时参数增加到更好的数值
- 检查为什么您的后端需要这么长时间
虽然选项 1 理论上可行,但您确实想选择选项 2,并弄清楚为什么后端响应需要这么长时间。
我经常看到错误 Varnish FetchError“重用后端连接超时”。检查了几个博客,但没有找到任何解决方案。你能帮忙吗?
- BereqHeader 接受编码:gzip
- BereqHeader X-清漆:37849780
- VCL_call BACKEND_FETCH
- VCL_return 获取
- 后端打开 36 NODEJS_2 xx.xx.xx.xx 9000 yy.yy.yy.yy 43309
- 时间戳:1605444526.456709 0.000102 0.000102
- FetchError 重用后端连接超时
- 后端关闭 36 NODEJS_2
- 时间戳:1605444571.456893 45.000285 45.000183
- 时间戳错误:1605444571.456900 45.000292 0.000006
- BerespProtocol HTTP/1.1
- BerespStatus 503
- BerespReason 后端获取失败
- BerespHeader 日期:2020 年 11 月 15 日,星期日 12:49:31 GMT
- BerespHeader 服务器:清漆
- VCL_call BACKEND_ERROR
- BerespHeader 内容类型:text/html;字符集=utf-8
- BerespHeader 重试后:5
- VCL_return 交付
- 存储 malloc 瞬态
- 长度 285
- BereqAcct 2940 185 3125 0 0 0
- 结束
您的 VSL 输出中的 Timestamp Beresp: 1605444571.456893 45.000285 45.000183
标记表明您的后端用了 45.000183
秒来生成响应,这触发了 first_byte_timeout
.
实际上,您的后端可能需要超过 45 秒才能生成输出,但 Varnish 在达到超时后就放弃了。
以下是您的选择:
- 将
first_byte_timeout
运行时参数增加到更好的数值 - 检查为什么您的后端需要这么长时间
虽然选项 1 理论上可行,但您确实想选择选项 2,并弄清楚为什么后端响应需要这么长时间。