首页 > 解决方案 > 重新加载后清漆 FetchError 长达 30 秒

问题描述

我有一个带有 26 个后端的 varnish 6 设置,在 ram 升级后我遇到了一个问题,它在重新加载大约 15-30 秒后抛出 503 错误,并且 varnishlog 说它 - FetchError backend reload_20190417_131210_1488.server15: unhealthy

来自 varnishlog 的完整标题:

  • << BeReq >> 106235039
  • 开始 beeq 106235038 获取
  • 时间戳开始:1555506951.751066 0.000000 0.000000
  • Bereq 方法 GET
  • BereqURL /_files/b6/ee/59/4f/af/b6ee594fafd3f13556216d89452f3dd4_1.jpg
  • Bereq 协议 HTTP/1.1
  • BereqHeader 用户代理:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36
  • BereqHeader 接受:image/webp,image/apng,image/ , /*;q=0.8
  • BereqHeader 引荐来源网址:http ://www.example.com/
  • BereqHeader 接受语言:lv
  • BereqHeader x 范围:字节=1135466-1135466
  • BereqHeader 优雅:无
  • BereqHeader X-Forwarded-For:84.237.232.159
  • BereqHeader 主机:www.example.com
  • BereqHeader 代理能力:key=ESI/1.0
  • BereqHeader 接受编码:gzip
  • BereqHeader X-清漆:106235039
  • VCL_call BACKEND_FETCH
  • VCL_return 获取
  • FetchError后端reload_20190417_131210_1488.server15:不健康
  • 时间戳Beresp:1555506951.751106 0.000040 0.000040
  • 时间戳错误:1555506951.751111 0.000045 0.000005
  • Beresp 协议 HTTP/1.1
  • Beresp状态 503
  • BerespReason 服务不可用
  • BerespReason 后端提取失败
  • BerespHeader 日期:2019 年 4 月 17 日星期三 13:15:51 GMT
  • BerespHeader 服务器:清漆
  • VCL_call BACKEND_ERROR
  • BerespHeader 内容类型:text/html;字符集=utf-8
  • BerespHeader 重试后:5
  • VCL_return 交付
  • 存储 malloc 瞬态
  • 长度 286
  • BereqAcct 0 0 0 0 0 0
  • 结尾

我们有 16 GB ram 将 malloc 8 GB,现在它是 32 GB 和 23 GB malloc。我们正在使用带有 VSF 的 varnish 6,所以它的设置非常复杂,但它工作得很好。它编译得很好,没有任何错误,但在重新加载后向某些域抛出 503 backend fetch fail。

标签: varnish

解决方案


FetchError 很清楚,后端有病。使用 检查它varnishadm backend.health,它应该告诉你什么是失败的。

显示您的后端定义也会有所帮助。


推荐阅读