如何知道Squid Proxy是否正确执行了缓存


12

我想测试连接到Squid服务器的客户端是否实际上在使用缓存数据,而不是直接连接到Internet并检索数据。我已将所有客户端浏览器配置为从Squid服务器(其为10.42.0.1:3128)读取Server:Port。因此,我怎么知道他们是从缓存还是从Internet检索信息。

我问,因为加载多个包含许多图像的页面时,快速的“测试”速度相同。相同的图像,而不是每次访问都会改变的广告。

我可以使用哪些方法来检查他们是否正在使用缓存?

我运行以下命令:sudo tail -f /var/log/squid3/access.log并且有几行不断滚动:

1374553166.136    929 185.168.101.131 TCP_MISS/200 28198 GET http://www.amazon.de/gp/offer-listing/B000NOIW62/ref=sr_1_1_olp? - DIRECT/178.236.7.219 text/html

他们有一个TCP_MISS / 200,最后有一个DIRECT作为上面的例子。当我关闭局域网中的所有计算机时,发生了这种情况。当我尝试使用一个时,我得到以下结果sudo tail -f /var/log/squid3/access.log | grep HIT

1374553387.488      0 10.42.0.14 TCP_IMS_HIT/304 278 GET http://g-ecx.images-amazon.com/images/G/01/da/creatives/sn130.png - NONE/- image/png

因此它显示为TCP_IMS_HIT / 304,最后显示NONE

那么,TCP_MISS,DIRECT,TCP_IMS_HIT和NONE是什么意思?

缓存是否正常工作?

Answers:


15

在终端上,在运行squid的服务器上,运行以下命令

tail -f /var/log/squid3/access.log

然后在用户访问网页时观看。如果每当单击某些内容时有许多行向上滚动屏幕,则说明它们正在使用代理服务器。如果没有找到鱿鱼日志文件,请在/ etc / squid中查找日志文件的位置。

要退出上述命令,请按ctrl + c

要查看它是否实际上在缓存内容并有用,应该有一些行说它是HIT。要查看日志文件内容的完整说明,请参见squid Wiki。请注意,由于单个用户的Web浏览器已经在本地缓存内容,因此缓存HIT不会像您想要的那样频繁。当多个用户请求相同页面之前,从缓存中删除该信息时,您将获得最大的匹配量。

例如当allstaff电子邮件出去时说“请检查此站点...”

  • TCP_MISS / 200表示请求的文档不在高速缓存中,但是可以从Web服务器中获取它。最后的直接指示说该文件是从Web服务器获取的。
  • TCP_IMS_HIT / 304表示客户端询问文件是否已更改,并且squid在Web服务器上检查了日期/时间,发现它没有更改,因此它将文件的副本从本地缓存中提供给客户端。

因此,是的,您的鱿鱼正在被使用并用作缓存。


更新了问题,以查看是否可以进一步提供帮助。
Luis Alvarado

@Luis Alvardo更新了答案以进一步提供帮助。
BeowulfNode42 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.