免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6020 | 回复: 7

[proxy] 看图学英文系列之二:refresh_pattern参数对squid的影响 [复制链接]

论坛徽章:
0
发表于 2008-01-30 10:46 |显示全部楼层
本文原发于:Coolzsb的杂货铺子,转载请说明

在squid.conf.default里面,refresh_pattern参数下面的注释是这样的:
  TAG: refresh_pattern
       usage: refresh_pattern [-i] regex min percent max [options]

       Basically a cached object is:
               FRESH if expires < now, else STALE
               STALE if age > max
               FRESH if lm-factor < percent, else STALE
               FRESH if age < min
               else STALE

以上所有的时间都是以分钟为单位计算
很容易看懂是不是?
  • refresh_pattern指出的缓冲对象过期了,这个对象过期。(这不是废话嘛!)
  • refresh_pattern指出的缓冲对象在squid的cache缓冲的时间大于max的话,这个对象过期。
  • refresh_pattern指出的缓冲对象的lm-factor大于等于percent的话,这个对象过期。
  • refresh_pattern指出的缓冲对象在squid的cache缓冲的时间小于min的话,这个对象不过期。
可是,这个lm-factor到底是怎么算的?有什么具体意义?估计好多同学搞不清楚了吧。来,look,下面的图:

上面这张图来自于《Squid.Definitive.Guide》第七章,对squid的LM-factor算法作出了一个很直观的描述。

请注意这张图的起始时间坐标:Last-Modified,这个是由squid读取的原始web数据所规定的。
然后就是Date,这个是原始数据进入squid的缓冲的时间。
最后就是Expires,这个就是原始数据在squid中的缓冲过期时间。
可以很容易的得出结论,对于LM-factor算法来说,原始数据在squid中的缓冲时间为
(原始数据进入squid的缓冲的时间-原始web数据所规定的Last-Modified时间)*percent
所以,我们可以郑重得出结论,在squid的refresh_pattern设置中,percent与Min、Max两个值是完全没有关系
最后总结一下,对于squid来说,缓冲的数据在cache中的存活时间是这样决定的:
  • 如果有定义refresh_pattern:只要满足以下两个条件之一,缓冲对象过期
    • 缓冲对象在squid的cache缓冲的时间大于refresh_pattern定义的max
    • 缓冲对象在squid的cache缓冲的时间大于(原始数据进入squid的缓冲的时间-原始web数据所规定的Last-Modified时间)*percent
  • 如果符合多个refresh_pattern定义,以第一条符合定义的refresh_pattern为准
  • 如果没有符合定义的refresh_pattern,则按squid的默认处理规则
此刻才发现,中文网络上许多有关于refresh_pattern的解释都是错误的,害人子弟,夭寿啊!

论坛徽章:
0
发表于 2008-01-30 13:21 |显示全部楼层
恩,这个写的不错,非常清晰

论坛徽章:
0
发表于 2008-01-31 10:38 |显示全部楼层
很不错

论坛徽章:
1
辰龙
日期:2014-05-15 19:37:15
发表于 2008-02-02 15:01 |显示全部楼层
是啊,就喜欢楼上这个

论坛徽章:
0
发表于 2008-02-02 21:50 |显示全部楼层
不错不错,

论坛徽章:
0
发表于 2008-02-12 14:45 |显示全部楼层
很好很强大

论坛徽章:
0
发表于 2008-02-13 17:58 |显示全部楼层
权威指南上好像已经写明白了啊

不过还是多谢楼主了,再次复习

论坛徽章:
0
发表于 2008-11-05 11:57 |显示全部楼层
那请问楼主。那个SQUID的默认处理规则究竟是什么呢?好象进去后永远不过期。
必须在浏览器ctrl+f5强制刷新才会出现新的内容
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP