我快要嗨了Squid 响应时间 (tr)几乎所有状态代码 TCP_TUNNEL/200分析不同客户的 3 台服务器上的 access.log。
所有这些都是我按照相同的程序在 Ubuntu Server 16.04 LTS 上安装的,并激活了自动安全更新。它们作为 samba、bind、dhcp、ntp 服务器运行良好,已经超过一年了。
我对此主题的研究导致一些人将延迟归咎于 dns / ipv6 问题,因此我稍微修改了 3 个服务器中的 1 个服务器中的调试日志格式,包括“%dt”:进行 DNS 查找所花费的总时间(毫秒):
logformat mysquidlf %ts.%03tu %-dt %tr %-40>A %Ss/%03>Hs %<st %rm %ru %[un %Sh/%<a %mt
因此,当某些 Firefox PC 打开 mail.google.com 时,我会在 access.log 中看到:
~$ cat /var/log/squid/access.log
1524000467.969 - 234039 mn-secretaria TCP_TUNNEL/200 357198 CONNECT accounts.google.com:443 - HIER_DIRECT/172.217.30.173 -
你可以看到,dns 延迟是“-”(这意味着来自 squid 内部 dns 缓存的值为零),并且不合逻辑的响应时间 234039ms。
但是当我在服务器和客户端终端测试时结果看起来很正常:
user@server01:~$ wget https://mail.google.com
user@mn-secretaria:~$ wget https://mail.google.com
~$ cat /var/log/squid/access.log
1524000167.319 - 950 server01 TCP_TUNNEL/200 4350 CONNECT mail.google.com:443 - HIER_DIRECT/172.217.162.5 -
1524000167.640 160 739 server01 TCP_TUNNEL/200 67593 CONNECT accounts.google.com:443 - HIER_DIRECT/172.217.30.173 -
1524000266.950 - 931 mn-secretaria TCP_TUNNEL/200 4351 CONNECT mail.google.com:443 - HIER_DIRECT/172.217.30.165 -
1524000267.300 - 658 mn-secretaria TCP_TUNNEL/200 67710 CONNECT accounts.google.com:443 - HIER_DIRECT/172.217.30.173 -
如您所见,第二个日志条目中的 DNS 延迟为 160 毫秒,其他 3 个日志条目中的 DNS 延迟为“-”。响应时间在 739 毫秒至 950 毫秒之间。
有什么帮助可以调试 Squid 响应时间的巨大差异吗?
答案1
从 3.1.16 版本开始,squid 会首先尝试解析 IPv6 DNS 记录 (AAAA),然后再回退到 IPv4 (A) 记录。这可能是 IPv4 专用网络上出现延迟的原因。
将“dns_v4_first on”添加到您的配置文件应该会有所帮助。