在Apache集群中使用Squid cache_peer来提高性能

我有一个Web服务器群集中的3个节点。 每个节点在LAN接口上运行Squid,在localhost接口上运行Apache。 Squid为每个服务器单独caching,但我不相信我正确设置caching对等。

cache_peer 127.0.0.1 parent 80 0 no-query originserver name=Server1 cache_peer Server2 sibling 80 3130 proxy-only cache_peer Server3 sibling 80 3130 proxy-only cache_peer_access Server1 allow MYDOMAIN 

每个服务器都具有相似的cache_peer设置,除了每个服务器都是它自己的父设备,并将其他两台服务器用作同级。 我的目标是尽可能提高命中率,但是我不知道我是否正确理解caching对等逻辑。

我希望Squid在它的本地caching中试图findhttp://www.example.com/mypage/ ,如果它没有查询兄弟姐妹,直到find它。 如果找不到,那就应该打Apache。

我做对了吗?

Squid尝试通过ICP查询每个对等点,测量响应时间,然后决定使用哪个父对象。 有一些常见的问题:

  • 你的同事不会对ICP查询做出回应,鱿鱼则将它们标记为DEAD
  • 您的同行不支持caching摘要
  • 你服务不可caching的内容和鱿鱼总是直接连接
  • 你的ACL规则不允许使用其他同伴

答案在您的访问日志中。 所以试试这个,给我们一个例子:tail -f /var/log/squid/access.log

所以在这个例子中,你有鱿鱼听你的80端口上的外部IP,并绑定到每个服务器上的localhost:80的Apache?

有一件事要检查,如果你正在运行鱿鱼3.0或以上,确保你有icp_port 3130 ; 在2.x版本3130这是默认的,但在3.x它现在0(禁用)。