Squid服务中的缓存命中率

来源:互联网 发布:ubuntu登陆后桌面假死 编辑:程序博客网 时间:2024/05/16 07:30

谈谈Squid服务中的缓存命中率


cache命中在squid每次从它的缓存里满足HTTP请求时发生。cache命中率,是所有HTTP请求中命中的比例。Web缓存典型的cache命中率在30%到60%之间。另一个相似的度量单位叫做字节命中率,描绘了cache提供服务的数据容量(字节数)
cache丢失在squid不能从它的缓存里满足HTTP请求时发生。cache丢失的理由有很多种。最明显的,当squid第一次接受到对特殊资源的请求时,就是一个cache丢失。类似的情况是,squid会清除缓存以释放空间给新对象。另外的可能是资源不可到达。原始服务器会指示cache怎样处理响应。例如,它会提示数据不能被缓存,或在有限的时间内才被重复使用,等等。

cache确认保证squid不对用户返回过时数据。在重复使用缓存对象时,squid经常从原始服务器确认它。假如服务器指示squid的拷贝仍然有效,数据就发送出去。否则,squid升级它的缓存拷贝,并且转发给客户。


如何看Squid的缓存命中呢,这里有几种办法
一是安装squid命中率监控软件squid-graph
为了测试公司的squid,要找一个squid的命令比率查询软件,好不容易找到一个软件,叫squid-graph,晚点还要研究一下用cacti监控他的流量,
1.下载:squid-graph http://sourceforge.net/projects/squid-graph
解压缩,安装

#tar zxvf squid-graph-3.2.tar.gz#mv squid-graph /usr/local/

2.安装perl的GD包
安装rpm扩展包,安装方法见我的”rpm高级管理技巧”

#yum -y install perl-GD-Graph perl-GD

3.配置httpd服务器
在www目录下建立squid-graph文件夹

#mkdir -p /var/www/squid-graph

编辑httpd的配置文档

# vim /etc/httpd/conf.d/squid-graph.conf

在加入

Alias /squid-graph /var/www/squid-graph<Location /squid-graph>Order deny,allowAllow from allDeny from allAllow from 127.0.0.1Allow from ::1</Location>

4.安装完,分析
使用以下命令来分析

#/usr/local/squid-graph/squid-graph -o=/var/www/squid-graph/ < /var/log/squid/access.log

还可以设置自动使用cron,每5分钟执行一次

#crontab -e*/5 * * * * /usr/local/squid-graph/squid-graph -o=/var/www/squid-graph/ < /var/log/squid/access.log

到此结束,然后通过浏览器访问 http://ip/squid-graph/index.html

:squid的日志要使用squid原本的格式,和emulate_httpd_log on ,有人讲这行一定要注释掉,不然程序分析不出来. 记的要设置安全哦,不能让任何人都能打开哦

二是用系统自带的squid监控cachemgr.cgi(应将CGI放入Aapche的认证区,即输入有权限的帐户和密码才能访问)
General Runtime Information是Cachemgr.cgi监控Squid代理服务器的核心,里面就有cache hit,如果是30%-60%的话就属于正常.

三是最简单的了,直接在命令行模式下输入:

# /usr/local/squid/bin/squidclient  -h  localhost -p  3128 mgr:info
  有时候,Squid作正向代理代理时cache命中率可能相当低,有可能是动态内容过多,而cache处得的主要是图片,JS,CSS等静态文件,这时候squid主要是作为一个Proxy使用,cache功能发挥得不明显。

转自:http://blog.sina.com.cn/s/blog_4b427acf01018e99.html

0 0
原创粉丝点击