如果 Squid 已经收到响应的部分内容,随后在等待更多数据,那么增大 forward_timeout 处理的是错误的等待。在 Squid 5 到 7 中,按停下来的操作在这几个计时器中选择:

Squid 在等待什么指令
一条可用的转发路径forward_timeout
在尝试其他路径之前,与服务器或 peer 的 TCP 连接connect_timeout
来自 peer-服务器连接的更多数据;一次成功读取会延长等待read_timeout

把错误类别和最后一次成功的操作与日志条目放在一起记录。在后继连接尚不存在时失败,指向路径选择或连接建立。响应已经开始随后却静默,指向从服务器读取的阶段。追踪这两种情况时都要写入选中的 peer 和目标。

在允许更长的等待之前,先确认目标能在这段时间内恢复。计时器无法提供凭据,也无法让不可用的服务变得可达。同时比较 客户端的截止时间 ,否则客户端可能在 Squid 仍在等待时就放弃该操作。

这些名称与可用性随版本而异。请使用已部署版本的参考文档;旧版的 dns_v4_first 建议涉及地址选择,并不能说明这几种等待中哪一种失败了。

相关文章