Squid Web Cache Wiki

Squid Web Cache 文档

🔗 如何分析 Squid 的性能

用户总是会抱怨上网速度慢。问题是:他们的话可信吗?很少。而且,宽带在家中普遍可用,这反而让用户作为性能信息的来源更加不可靠,因为这提高了他们的性能预期,超出了工作环境的合理范围。

第一步是量化和衡量问题,因为用户几乎总是对正在发生的事情有主观(而非量化)的看法。

  1. 试试一个简单的测试:在一个具有足够网络访问权限的测试客户端系统上,使用一个测试模式来访问您选择的一个或三个测试站点,测试模式如下:清除浏览器缓存,关闭所有浏览器窗口,打开浏览器,在不使用代理的情况下访问站点,清除浏览器缓存,关闭所有浏览器窗口,配置代理,访问站点。是否存在明显的性能差异?如果没有,那肯定不是 Squid 的问题。
  2. 检查您的 cache.log,看看是否有异常信息,例如 squid 意外重启或抱怨某些资源不可用(例如,文件描述符是否不足?)
  3. 检查您的上行链路拥塞率。是否拥塞?Squid 可以帮助缓解拥塞的上行链路,但无法创造奇迹。延迟呢?对测试站点进行 traceroute,检查前两三个跳的性能:问题可能不在您的上行链路上,而在您的提供商的链路上。
  4. 检查您的系统性能:CPU 花费了多少时间运行 Squid,多少时间在内核中,多少 iowait,使用了多少 swap,pagein 和 pageout 的速率等。系统必须处于一个正常的状态, Squid 才有机会发挥性能。
  5. 如果到目前为止还没有发现问题,请启动您的 cachemgr 并查看性能指标,例如命中率(内存、对象和 DNS)、DNS 响应时间、可用文件描述符的数量。如果您正在使用身份验证,请检查身份验证器的队列拥塞情况——所有这些都会增加请求处理的延迟,这通常会使用户的浏览体验变得更糟。在一天中的不同时间重复分析,检查关键参数的变化。
  6. 收集几天的数据日志,并使用 calamaris 或 webalizer 等统计软件运行它们,然后开始查找“合理”行为的偏差,例如用户具有不合理的带宽或请求活动。

只有到这个时候,您才应该有一个足够清晰的图景,知道要调整哪个旋钮来解决您的问题。如果确实存在问题。如果到目前为止的一切都表明 Squid 是问题的根源,请尝试按照 Squid Profiling 中的步骤进行操作。

我应该更改哪些设置?

在真正了解情况之前,什么都不改。

有些解决方案实际上可能会使问题恶化:例如,在内存不足的系统上增加 cache_mem 实际上可能会损害 Squid 的整体性能:如果您使用的内存超过了系统的可用内存,Squid 的一部分将最终被交换到磁盘,从而严重影响性能。在这种情况下,最好实际**减少** cache_mem。

类别: 知识库

导航: 站点搜索站点页面类别🔼 向上