设为首页 收藏本站
查看: 877|回复: 0

[经验分享] C3

[复制链接]

尚未签到

发表于 2018-12-26 09:46:30 | 显示全部楼层 |阅读模式
  C3-Squid-access.log

  拓扑:


  • DNS      10.0.100.71
  • Haproxy  10.0.100.82
  • Squid    10.0.100.72/73
  • Nginx    10.0.100.75/76
  • NFS      10.0.100.70

  • DNS
  •   |     (static)
  • Haproxy  ------> Squid.72/73 (origin server Nginx.75/76)
  •   |(dynamic)
  • Nginx
  •   |
  • NFS

  
1 以下是3天的 squid access.log,平均每天的access.log 为1.4GB


  • du -sh *

  1.3G    squid.log
1.5G    squid.log.0
1.6G    squid.log.1
2 排序 access.log


  • awk '{print $NF}' squid.log | sort | uniq -c | sort -rn

  2459793 TCP_MEM_HIT:NONE
843948 TCP_IMS_HIT:NONE
200753 TCP_MISS:DIRECT
  23537 TCP_HIT:NONE
   8112 TCP_NEGATIVE_HIT:NONE
   2481 TCP_REFRESH_HIT:DIRECT
   1838 TCP_REFRESH_MISS:DIRECT
   1215 TCP_DENIED:NONE
      1 TCP_MISS:NONE

  3 access.log 例子
#TCP_MISS:ROUNDROBIN_PARENT
cache01
192.168.4.33 - - [19/Jul/2012:15:29:42 +0800] "GET http://blog.test.com/wp-content/uploads/2012/07/DSCN0798-1024x768.jpg HTTP/1.1" 200 212299 "htt    p://blog.test.com/?attachment_id=88" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1" TCP_MISS:ROUNDROBIN_PARENT

cache02

- - - [19/Jul/2012:15:29:43 +0800] "ICP_QUERY http://blog.test.com/wp-content/uploads/2012/07/DSCN0798-1024x768.jpg HTTP/0.0" 0 90 "-" "-" UDP_MI     SS:NONE
nginx02
10.0.100.72 - - [19/Jul/2012:15:29:47 +0800] "GET /wp-content/uploads/2012/07/DSCN0798-1024x768.jpg HTTP/1.0" 200 211931 "http://blog.test.com/?a     ttachment_id=88" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1" 192.168.4.33, 10.0.100.82

#TCP_MISS:SIBLING_HIT
cache01
192.168.4.33 - - [19/Jul/2012:14:25:09 +0800] "GET http://blog.test.com/wp-content/uploads/2012/07/squid-linjun11-300x100.png HTTP/1.1" 304 373 "http://blog.test.com/?p=66" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1" TCP_MISS:SIBLING_HIT
cache02
192.168.4.33,%2010.0.100.82 - - [19/Jul/2012:14:25:10 +0800] "GET http://blog.test.com/wp-content/uploads/2012/07/squid-linjun11-300x100.png HTTP/1.0" 304 291 "http://blog.test.com/?p=66" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1" TCP_IMS_HIT:NONE

#UDP_MISS:NONE

cache01
- - - [20/Jul/2012:09:48:12 +0800] "ICP_QUERY http://monitor.test.com/icons/apache_pb.gif HTTP/0.0" 0 64 "-" "-" UDP_MISS:NONE
192.168.4.33 - - [20/Jul/2012:09:48:12 +0800] "GET http://monitor.test.com/icons/powered_by_rh.png HTTP/1.1" 404 406 "http://monitor.test.com/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1" TCP_MISS:ROUNDROBIN_PARENT
cache02
- - - [20/Jul/2012:09:48:12 +0800] "ICP_QUERY http://monitor.test.com/icons/powered_by_rh.png HTTP/0.0" 0 68 "-" "-" UDP_MISS:NONE
192.168.4.33 - - [20/Jul/2012:09:48:12 +0800] "GET http://monitor.test.com/icons/apache_pb.gif HTTP/1.1" 404 406 "http://monitor.test.com/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1" TCP_MISS:ROUNDROBIN_PARENT
nginx02
10.0.100.72 - - [20/Jul/2012:09:48:16 +0800] "GET /icons/powered_by_rh.png HTTP/1.0" 404 162 "http://monitor.test.com/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1" 192.168.4.33, 10.0.100.82

#TCP_NEGATIVE_HIT:NONE
cache01
192.168.4.33 - - [20/Jul/2012:14:39:47 +0800] "HEAD http://monitor.test.com/icons/apache_pb.gif HTTP/1.1" 404 334 "-" "curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3" TCP_NEGATIVE_HIT:NONE
192.168.4.33 - - [20/Jul/2012:14:39:48 +0800] "HEAD http://monitor.test.com/icons/apache_pb.gif HTTP/1.1" 200 342 "-" "curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3" TCP_MISS:ROUNDROBIN_PARENT
192.168.4.33 - - [20/Jul/2012:14:39:49 +0800] "HEAD http://monitor.test.com/icons/apache_pb.gif HTTP/1.1" 200 350 "-" "curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3" TCP_MEM_HIT:NONE
apache01
//X-Forwarded-For请求头,多个ip用','分割这里的192.168.4.33 是client ip,10.0.100.82 是haproxy ip。
192.168.4.33, 10.0.100.82 - - [20/Jul/2012:14:39:17 +0800] "HEAD /icons/apache_pb.gif HTTP/1.0" 200 - "-" "curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3"
//TCP_NEGATIVE_HIT 参数
设置缓存错误页面时间 negative_ttl
negative_ttl 5 minutes

  4 access 编码解释
  4.1 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 查询。
  • 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 响应到客户端。

  
4.2 access.log 对端编码



  • NONE              //这指明 Squid 对本次请求,不会与任何其他服务器(邻居或原始服务器)通信。
  •                   //它通常与 cache命中、拒绝请求、cache 管理请求、错误、和所有的 ICP 查询这些类型联合出现。
  • DIRECT            //Squid 直接转发请求到原始服务器。该域的第 2 半部分显示原始服务器的 IP 地址,或主机名。
  • SIBLING_HIT       //在姐妹 cache 返回 ICP 或 HTCP 命中后,Squid 发送请求到姐妹 cache。
  • PARENT_HIT        //在父 cache 返回 ICP 或 HTCP 命中后,Squid 发送请求到父 cache。
  • DEFAULT_PARENT    //Squid 选择该父 cache,因为其在 squid.conf 的 cache_peer 行里被标志为 default。
  • FIRST_UP_PARENT   //Squid 转发请求到该父 cache,因为它是位于已知活跃列表里的第一个父 cache。
  • FIRST_PARENT_MISS //Squid 转发请求到该父 cache,它第一个响应 ICP/HTCP 丢失消息。换句话说,对这个特殊的
  •                   //ICP/HTCP 查询,在这个特殊时刻,被选中的父 cache 有最佳的往返时间(RTT)。
  •                   //注意标准RTT 可能被人工矫正过,取决于 cache_peer 指令的 weight 选项。
  • CLOSEST_PARENT_MISS
  •                   //Squid 选择该父 cache,因为它报告到原始服务器的 RTT 最低。这点仅在 2 个 cache 都激活
  •                   //了 netdb,并且原始服务器(或在同一子网内的其他 server)返回 ICMP ping 消息。
  • CLOSEST_PARENT    //这点类似 CLOSEST_PARENT_MISS,除了 RTT 计算不是来自 ICP/HTCP 响应消息外。
  •                   //代替的,它们来自 Squid 保留的更老的计算方式,例如 netdb 交换功能。
  • CLOSEST_DIRECT    //Squid 基于 netdb 算法,转发请求到原始服务器。这点在满足下述任何条件时发生:
  •                   //1)在 Squid 和原始服务器之间的 RTT 小于配置的 minimum_direct_rtt 值。
  •                   //2)在 Squid 和原始服务器之间的标准路由跳数少于配置的 minimum_direct_hops 值。
  •                   //3)在 ICP/HTCP 响应里返回的 RTT 值,指示 Squid 离原始服务器近于任何其他邻居。
  • ROUNDROBIN_PARENT
  •                   //Squid 转发请求到该父 cache,因为设置了 round-robin 选项,并且它有最低的使用计数器。
  • CD_PARENT_HIT     //Squid 基于 cache 摘要算法(见 10.7 节)转发请求到该父 cache。
  • CD_SIBLING_HIT    //Squid 基于 cache 摘要算法转发请求到该姐妹 cache。
  • CARPS             //quid 选择该父 cache,基于 cache 数组路由协议算法(见 10.9 节)
  • ANY_PARENT        //作为最后的手段,Squid 选择该父 cache,因为没有其他方法能选择可行的下一跳。
  •                   //注意大部分上述编码可能以 TIMEOUT_开头,这表明在等待 ICP/HTCP 响应时发生超时。
  • 例如:
  • 1066038165.382 345 193.233.46.21 TCP_MISS/200 2836 GET http://www.caida.org/home/images/home.jpg \
  • TIMEOUT_CLOSEST_DIRECT/213.219.122.19 image/jpeg
  • 可使用 icp_query_timeout 指令来调整超时。

  
参考
Squid 中文权威指南
http://home.arcor.de/pangj/squid/
squid 否定缓存 negative_ttl 实测和总结
http://www.sealinger.com/archives/383/
C1-Squid_Cache-Server
http://dngood.blog.运维网.com/446195/939524
C2-Squid_Neighbour
http://dngood.blog.运维网.com/446195/955710

结束
更多请:
linux 相关 37275208
vmware 虚拟化相关  166682360




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-655944-1-1.html 上篇帖子: 关于squid启动错误 下篇帖子: squid 启动报错
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表