kernel 2.6 在vmware esx 2.5上的时间问题 看图学英文:range_offset_limit参数对squid的影响
九月 13
文章评分:1 星2 星3 星4 星5 星 (在家靠父母,出门靠朋友.大伙儿给点表扬吧!)
Loading ... Loading ...

如果你想让squid缓冲microsoft update的patch的话,请把以下语句添加到squid的设置文件:

  1. refresh_pattern -i windowsupdate.com/.*\.(cab|exe) 4320 100% 43200 reload-into-ims
  2. refresh_pattern -i download.microsoft.com/.*\.(cab|exe) 4320 100% 43200 reload-into-ims
  3. refresh_pattern -i au.download.windowsupdate.com/.*\.(cab|exe) 4320 100% 43200 reload-into-ims

range_offset_limit 20480 KB
range_offset_limit -1 KB

以下是我的摸索过程:

又到了Microsoft一月一度的patch日了,想象着公司的几百台电脑同时在squid上请求相同的patch的情景一定相当的壮观。于是看了下squid服务器上windowsupdate.com的访问日志,乖乖,怎么全部都是TCP_MISS的纪录????

想想不太对劲,为了保证windows update的东西能被squid cache住,我之前已经用refresh_pattern语句强制保存windows update的相关站点的exe和cab文件了,难道我的refresh_pattern配置有问题??看了看squid的配置文件,感觉不太象,于是用wget去抓一下今天的升级补丁,果然没有被squid缓存住:

  1. Proxy request sent, awaiting response...
  2.   HTTP/1.0 200 OK
  3.   Date: Thu, 13 Sep 2007 04:55:27 GMT
  4.   Content-Length: 7760926
  5.   Content-Type: application/octet-stream
  6.   ETag: "4e8236a3318ec71:803b"
  7.   Last-Modified: Fri, 04 May 2007 09:50:24 GMT
  8.   Accept-Ranges: bytes
  9.   Server: Microsoft-IIS/6.0
  10.   X-Powered-By: ASP.NET
  11.   X-Cache: MISS from cache1
  12.   X-Cache-Lookup: MISS from cache1:3128
  13.   Proxy-Connection: close

这是为什么呢?想了半天没有搞明白,整好到了吃饭时间,先去吃饭吧。结果吃完饭回来,很惊奇的看到如下的情景
squid_save_traffic

乖乖隆个东,看来squid针对microsoft的update站点的refresh_pattern设置还是正确的,那么问题出在哪里呢?

忽然间想起来,现在的microsoft后台补丁升级都是用bits服务的,也就是说,会把一个补丁下载分成多个线程下载的.......而,这个,我好象没有让squid缓存多线程下载的东西,唉

所以最终,针对microsoft update的squid策略反映到squid的设置文件就是这个:

  1. refresh_pattern -i windowsupdate.com/.*\.(cab|exe) 4320 100% 43200 reload-into-ims
  2. refresh_pattern -i download.microsoft.com/.*\.(cab|exe) 4320 100% 43200 reload-into-ims
  3. refresh_pattern -i au.download.windowsupdate.com/.*\.(cab|exe) 4320 100% 43200 reload-into-ims

range_offset_limit 20480 KB #我的squid缓冲的object的上限是20480 KB,所以要squid预先抓取的上限也就设置为 20480 KB,超过了squid不缓冲也没有意义!
range_offset_limit -1 KB

附录:其实本文所提到的对squid的调整在实际应用中是有问题的,为什么呢?请各位同学思考

5 Responses to “用squid缓冲windows update”

  1. 看图学英文:range_offset_limit参数对squid的影响 at Coolzsb的杂货铺子 Says:

    [...] 有关于本页面 « 用squid缓冲windows update [...]

  2. liwentao Says:

    :em02: 非常好

  3. iakuf Says:

    这个我可以拿来用吧,没有问题吧

  4. coolzsb Says:

    那当然是有问题的啊,请继续往下看我写的那篇range_offset_limit的文章,问题大着呢

    2008年三月 24 日 11:21 am,iakuf大声嚷嚷道:

    这个我可以拿来用吧,没有问题吧

    签名
    ---
    你们的情况,完全是可以用wsus来解决的

  5. iakuf Says:

    wsus不用.只用squid。哈哈,用squid连杀毒软件的dat文件都可以,多方便

Leave a Reply