代码改变世界

squid 高级篇

2012-09-24 01:02  游乐场123  阅读(465)  评论(0编辑  收藏  举报

本文记录squid一些和http协议相关的内容

 

TAG:refresh_pattern [-i] 正则式 min percent% max [options]

-i 忽略正则式的大小写

官方对于缓存有这样一段描述,这是什么语言,伪代码?

FRESH if expires < now, else STALE

STALE if age > max

FRESH if lm-factor < percent, else STALE

FRESH if age < min

else STALE

我解释如下:

如果一个对象有expires值,当前未到expires值,直接响应请求,否则向后端服务器请求

如果age(current_time - date) > max 表示过期了,向后端服务器请求

如果lm-factor < percent,直接响应请求,否则向后端服务器请求

如果age(current_time - date) < min 表示过期了,直接响应请求

其他所有情况,向后端服务器请求

我们要注意的是,如果缓存文件有expires值,不会进行refresh_pattern中的判断,规则仅仅应用到没有明确过期时间的缓存文件

LM-factor=Current_time-Date/Date-Last-Modified=age/Date-Last-Modified

我们可以使用LM-factor=Expires-Date/Date-Last-Modified公式来计算过期时间Expires的阙值,其中LM-factor的值就用percent来指定。如图示,当设置percent为50%,访问时间和最后修改时间间隔3小时的话,该文件只能缓存1.5小时;好性感啊,如果一个文件频繁更新,那相对来说更容易过期,如果一个文件很少更新,那相对来说缓存的时间更长,当然,这不绝对安全哦

 

[options]

reload-into-ims

将client请求的no-cache或reload请求转变成If-Modified-Since,将和后端的web服务器协商,减轻后端压力

ignore-reload

忽略客户端的no-cache

ignore-no-cache

忽略服务器端的no-cache

override-expire

检查Expires头部之前,先检查min值

override-lastmod

检查LM-factor百分比之前,先检查min值

 

 

 

http://blog.kangkang.org/index.php/archives/57 Squid 高级优化指南

http://blog.kangkang.org/index.php/archives/58 

http://blog.kangkang.org/index.php/archives/59 

http://blog.wuxinan.net/archives/59 Squid 优化补遗

http://windtear.net/archives/2005/07/01/000705.html suqid之王?

http://blog.zhanxb.com/post/291/ Squid缓存命中率调整惨痛教训

http://deidara.blog.51cto.com/400447/385074 squid缓存动态连接

http://blog.chinaunix.net/space.php?uid=20749730&do=blog&id=717053 refresh_pattern 

http://www.sungyism.com/blog/post/47/ refresh_pattern 

http://blog.developers.api.sina.com.cn/?p=54 squid 日志分析

http://www.juyouren.com/ 何许人也?

http://blog.sina.com.cn/s/articlelist_1759002373_0_1.html