1、什么是命中率?
命中率是指第二次及第二次以后访问时发现有cache存在并且未过期而直接提供给请求者的概率。
2、如何查看squid命中率?
在squid/bin目录下执行 squidclient -p 80 mgr:info
3、命中率查询结果是什么意思?
查看的结果:
某方面的
Request Hit Ratios:
Byte Hit Ratios:
Request Memory Hit Ratios:
Request Disk Hit Ratios:
解释:
Request Hit Ratios:表示第二次或者以后的请求时,发现它在缓存里面且有效,不然就从原始服务器读取
Byte Hit Ratios:顾名思义,字节数
Request Memory Hit Ratios:这个是缓存在内存里面的东西
Request Disk Hit Ratios:这个是从硬盘读取的
问题:
为什么Request Memory Hit Ratios 加 Request Disk Hit Ratios 小于 Request Hit Ratios
查看access.log:
结果发现:在access.log中不仅有TCP_MEM_HIT和TCP_HIT,还有很多如下的HIT
TCP_NEGATIVE_HIT
TCP_IMS_HIT
TCP_REFRESH_HIT
所以Request Memory Hit Ratio(相当于TCP_MEM_HIT)加上Request Disk Hit Ratios(相当于TCP_HIT) 必然小于Request Hit Ratios(相当于所有的HIT)
4、liunx下执行查看命令报错!怎么办?
用如下命令查看squid命中率
/usr/local/squid/bin/squidclient -p 80 mgr:info
却提示
client: ERROR: Cannot connect to localhost:80: Connection refused
根据cu的帖子,在squid.conf中,确认有如下配置
acl manager proto cache_objectacl
acl localhost src 127.0.0.1/255.255.255.255
acl localhost src 10.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
http_access allow Manager localhost
还是不行,因为squid配置为虚拟主机的模式
http_port xx.xxx.254.203:80 defaultsite=192.168.1.18 vhost vport
于是在squid.conf中加入
http_port 3128
重新载入squid配置文件
/usr/local/squid/sbin/squid -k reconfigure
然后再次用
/usr/local/squid/bin/squidclient -p 3128 mgr:info
这次可以了,省略端口号也可以。
不看不知道,一看吓一跳。命中率才
Cache information for squid:
Request Hit Ratios: 5min: 14.9%, 60min: 17.4%
Byte Hit Ratios: 5min: -2.5%, 60min: 0.2%
真是低的可怜。
评论回复