🔗 AIO 队列拥塞
🔗 症状
squidaio_queue_request: WARNING - Queue congestion
🔗 解释
在使用多线程磁盘访问 (AIO) 时,Squid 会对要执行的任务进行排队,并让磁盘控制器尽快处理。这使得 Squid 能够处理同一请求的其他处理任务,而不会因为等待慢速磁盘而停滞。
队列的默认长度为每个线程 8 个队列槽。当队列空间满时,Squid 会发出 WARNING,并将可用队列长度加倍。
在极高的负载下,少量这样的警告是可以接受的。但如果你频繁收到警告,则表明磁盘 I/O 已过载,或者你已经耗尽了处理该问题的 CPU 周期。
🔗 规避方法
- 在干净启动后出现几秒钟的警告可以忽略。随着队列根据负载自动调整,警告应该呈指数级减少。
- 对于预期在繁忙网络上运行的 Squid,增加默认的 AIO 线程可以减少这种干扰。使用快速磁盘至关重要。
- 如果警告持续存在且未减少,你需要更快的磁盘,或者将流量负载分散到更多的代理上。
🔗 附加信息
在阅读以下内容之前,应该注意到,2004/2005 年的专业测试表明 XFS 是在 Squid 下使用最慢的文件系统。下面的邮件显示了一个有趣的相反结果,但应谨慎对待。
See <https://squid.org.cn/mail-archive/squid-users/200603/0903.html>
for some discussion on the topic
类别: 知识库
导航: 站点搜索、站点页面、类别、🔼 向上