squidclient 测SQUID 缓存的命中率

WBOY
풀어 주다: 2016-06-07 15:04:25
원래의
1841명이 탐색했습니다.

squidclient这个东东很好用 清理squid 缓存 查看squid状态等等功能,都挺方便的 基本的使用方法 *取得squid运行状态信息: squidclient -p 80 mgr:info *取得squid内存使用情况: squidclient -p 80 mgr:mem *取得squid已经 缓存 的列表: squidclient -p 80



squidclient这个东东很好用 清理squid缓存  查看squid状态等等功能,都挺方便的

基本的使用方法
*取得squid运行状态信息: squidclient -p 80 mgr:info
*取得squid内存使用情况: squidclient -p 80 mgr:mem
*取得squid已经缓存的列表: squidclient -p 80 mgr:objects. use it carefully,it may crash
*取得squid的磁盘使用情况: squidclient -p 80 mgr:diskd
*强制更新某个url:squidclient -p 80 -m PURGE http://www.php-oa.com/static.php
*更多的请查看:squidclient -h 或者 squidclient -p 80 mgr:

 

* 如何得知 squid 执行中的状态?

最简单的方式便是透过浏览器来观察。squid 本身提供一只 cgi 程式,档名为cachemgr.cgi,squid 安装完后将它复制到 Apache 下的 cgi-bin 这个目录下即可使用。

要察看Cache Manager提供的资讯时,请在浏览器的位址列中键入

http://伺服器的名称或IP位址/cgi-bin/cachemgr.cgi

当然,我更加喜欢使用下面的方法

squidclient -t 1 -h localhost -p 80 mgr:inf 这样也行

 

下面是一些基本内容

Squid Object Cache: Version 2.6 //Squid的版本

HTTP/1.0 200 OK
Date: Tue, 11 Mar 2008 16:08:14 GMT
Content-Type: text/plain
Expires: Tue, 11 Mar 2008 16:08:14 GMT
Last-Modified: Tue, 11 Mar 2008 16:08:14 GMT
Connection: close

Squid Object Cache: Version 2.6.STABLE6
Start Time:     Tue, 11 Mar 2008 10:21:47 GMT
Current Time:   Tue, 11 Mar 2008 16:08:14 GMT
Connection information for squid:
        Number of clients accessing cache:      2023            使用proxy的电脑数量
        Number of HTTP requests received:       81787        客户端http要求数量
        Number of ICP messages received:        0        接受到的icp query数量
        Number of ICP messages sent:    0            发出icp query数量
        Number of queued ICP replies:   0
        Request failure ratio:   0.00
        Average HTTP requests per minute since start:   236.1    每分钟http request的数量
        Average ICP messages per minute since start:    0.0
        Select loop called: 24789642 times, 0.839 ms avg
Cache information for squid:
        Request Hit Ratios:     5min: 99.6%, 60min: 98.7%    Cache Request命中率
        Byte Hit Ratios:        5min: 100.0%, 60min: 100.0%    Cache Byte命中率
        Request Memory Hit Ratios:      5min: 1.6%, 60min: 1.2%
        Request Disk Hit Ratios:        5min: 82.0%, 60min: 90.5%
        Storage Swap size:      7723212 KB            存放cache的磁碟使用量
        Storage Mem size:       7992 KB                存放cache的记忆体使用量
        Mean Object Size:       264.01 KB           
        Requests given to unlinkd:      279
Median Service Times (seconds)  5 min    60 min:
        HTTP Requests (All):   2.94900  3.46762
        Cache Misses:          0.03427  0.03427
        Cache Hits:            5.06039  4.79440
        Near Hits:             0.30459  0.35832
        Not-Modified Replies:  0.00179  0.00179
        DNS Lookups:           0.00000  0.00000
        ICP Queries:           0.00000  0.00000
Resource usage for squid:
        UP Time:        20787.011 seconds
        CPU Time:       128.799 seconds
        CPU Usage:      0.62%
        CPU Usage, 5 minute avg:        0.44%
        CPU Usage, 60 minute avg:       0.51%
        Process Data Segment Size via sbrk(): 34292 KB
        Maximum Resident Size: 0 KB
        Page faults with physical i/o: 0
Memory usage for squid via mallinfo():
        Total space in arena:   34424 KB
        Ordinary blocks:        27031 KB   8599 blks
        Small blocks:               0 KB      0 blks
        Holding blocks:          6152 KB      2 blks
        Free Small blocks:          0 KB
        Free Ordinary blocks:    7392 KB
        Total in use:           33183 KB 82%
        Total free:              7392 KB 18%
        Total size:             40576 KB
Memory accounted for:                记忆体使用状态
        Total accounted:        21777 KB
        memPoolAlloc calls: 15446992
        memPoolFree calls: 15337015
File descriptor usage for squid:
        Maximum number of file descriptors:   16384        系统最大file descriptor数
        Largest file desc currently in use:   1165        目前使用file descriptor最大值
        Number of file desc currently in use:  571        目前正在使用的file descriptor数
        Files queued for open:                   0
        Available number of file descriptors: 15813
        Reserved number of file descriptors:   100
        Store Disk files open:                 266
        IO loop method:                     epoll
Internal Data Structures:
         29315 StoreEntries            Cache中存放的快取档案数量
           190 StoreEntries with MemObjects    记忆体斗的快取档案数量
           176 Hot Object Cache Items        磁碟机中存放的快取档案数量
         29253 on-disk objects

Proxy 回应的速度很慢时,可能是那里出问题?如何判定问题发生在那里?

网路回应慢有可能是目的网站的问题,也有可能是带宽不足的问题带宽需求是永远根不上使用者的脚步,故在网路出现变慢的问题时,请先以 ping 或 traceroute 指令测试网路的连线状态,如果封包回应很慢或封包遗失率很高,应该是属网路本身的问题,如果测试的结果良好,再继续看是否是 Proxy 出了问题。当然ping也不一定能说明问题














我的squid2.5, log中有大量的TCP_MISS/200记录;;
root# perl -lane '$type{$F[3]}++ if $F[1] > 2792;' -e 'END { print "$type{$_} $_" for keys %type }' /var/log/squid/access.log | sort -n
1 TCP_MEM_HIT/200
1 TCP_MISS/211
1 TCP_MISS/303
1 TCP_MISS/408
3 TCP_MISS/202
6 TCP_MISS/403
8 TCP_CLIENT_REFRESH_MISS/504
8 TCP_MISS/500
10 TCP_MISS/400
16 TCP_CLIENT_REFRESH_MISS/000
18 TCP_REFRESH_MISS/000
20 TCP_REFRESH_MISS/302
30 TCP_CLIENT_REFRESH_MISS/302
31 TCP_CLIENT_REFRESH_MISS/502
61 TCP_CLIENT_REFRESH_MISS/304
77 TCP_MISS/204
96 TCP_CLIENT_REFRESH_MISS/206
99 TCP_CLIENT_REFRESH_MISS/503
107 TCP_MISS/404
166 TCP_MISS/301
212 TCP_MISS/504
215 TCP_MISS/206
252 TCP_REFRESH_HIT/200
257 TCP_CLIENT_REFRESH_MISS/200
257 TCP_REFRESH_MISS/200
342 TCP_MISS/502
611 TCP_MISS/302
693 TCP_MISS/503
953 TCP_REFRESH_HIT/304
961 TCP_MISS/304
1302 TCP_MISS/000
21782 TCP_MISS/200
[root@oa squid]#

再看
应于HTTP请求,下列标签可能出现在access.log文件的第四个域。

TCP_HIT
Squid发现请求资源的貌似新鲜的拷贝,并将其立即发送到客户端。

TCP_MISS
Squid没有请求资源的cache拷贝。

TCP_REFERSH_HIT
Squid发现请求资源的貌似陈旧的拷贝,并发送确认请求到原始服务器。原始服务器返回304(未修改)响应,指示squid的拷贝仍旧是新鲜的。

TCP_REF_FAIL_HIT
Squid发现请求资源的貌似陈旧的拷贝,并发送确认请求到原始服务器。然而,原始服务器响应失败,或者返回的响应Squid不能理解。在此情形下,squid发送现有cache拷贝(很可能是陈旧的)到宊?户端。

TCP_REFRESH_MISS
Squid发现请求资源的貌似陈旧的拷贝,并发送确认请求到原始服务器。原始服务器响应新的内容,指示这个cache拷贝确实是陈旧的。

TCP_CLIENT_REFRESH_MISS
Squid发现了请求资源的拷贝,但客户端的请求包含了Cache-Control: no-cache指令。Squid转发客户端的请求到原始服务器,强迫cache确认。

TCP_IMS_HIT
客户端发送确认请求,Squid发现更近来的、貌似新鲜的请求资源的拷贝。Squid发送更新的内容到客户端,而不联系原始服务器。

TCP_SWAPFAIL_MISS
Squid发现请求资源的有效拷贝,但从磁盘装载它失败。这时squid发送请求到原始服务器,就如同这是个cache丢失一样。

TCP_NEGATIVE_HIT
在对原始服务器的请求导致HTTP错误时,Squid也会cache这个响应。在短时间内对这些资源的重复请求,导致了否命中。 negative_ttl指令控制这些错误被cache的时间数量。请注意这些错误只在内存cache,不会写往磁盘。下列HTTP状态码可能导致否定 cache(也遵循于其他约束): 204, 305, 400, 403, 404, 405, 414, 500, 501, 502, 503, 504。

TCP_MEM_HIT
Squid在内存cache里发现请求资源的有效拷贝,并将其立即发送到客户端。注意这点并非精确的呈现了所有从内存服务的响应。例如,某些cache在内存里,但要求确认的响应,会以TCP_REFRESH_HIT, TCP_REFRESH_MISS等形式记录。

TCP_DENIED
因为http_access或http_reply_access规则,客户端的请求被拒绝了。注意被http_access拒绝的请求在第9域的值是NONE/-,然而被http_reply_access拒绝的请求,在相应地方有一个有效值。

TCP_OFFLINE_HIT
当offline_mode激活时,Squid对任何cache响应返回cache命中,而不用考虑它的新鲜程度。

TCP_REDIRECT
重定向程序告诉Squid产生一个HTTP重定向到新的URI(见11.1节)。正常的,Squid不会记录这些重定向。假如要这样做,必须在编译squid前,手工定义LOG_TCP_REDIRECTS预处理指令。

NONE
无分类的结果用于特定错误,例如无效主机名。


相应于ICP查询,下列标签可能出现在access.log文件的第四域。

UDP_HIT
Squid在cache里发现请求资源的貌似新鲜的拷贝。

UDP_MISS
Squid没有在cache里发现请求资源的貌似新鲜的拷贝。假如同一目标通过HTTP请求,就可能是个cache丢失。请对比UDP_MISS_NOFETCH。

UDP_MISS_NOFETCH
跟UDP_MISS类似,不同的是这里也指示了Squid不愿去处理相应的HTTP请求。假如使用了-Y命令行选项,Squid在启动并编译其内存索引时,会返回这个标签而不是UDP_MISS。

UDP_DENIED
因为icp_access规则,ICP查询被拒绝。假如超过95% 的到某客户端的ICP响应是UDP_DENIED,并且客户端数据库激活了(见附录A),Squid在1小时内,停止发送任何ICP响应到该客户端。若这点发生,你也可在cache.log里见到一个警告。

UDP_INVALID
Squid接受到无效查询(例如截断的消息、无效协议版本、URI里的空格等)。Squid发送UDP_INVALID响应到客户端







관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿