便民 发表于 2015-9-3 09:14:22

squid 高级篇

  本文记录squid一些和http协议相关的内容
  
  TAG:refresh_pattern [-i] 正则式 min percent% max

  -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

http://g.hiphotos.baidu.com/space/pic/item/0823dd54564e925827b51d759c82d158cdbf4eac.jpg
  我们可以使用LM-factor=Expires-Date/Date-Last-Modified公式来计算过期时间Expires的阙值,其中LM-factor的值就用percent来指定。如图示,当设置percent为50%,访问时间和最后修改时间间隔3小时的话,该文件只能缓存1.5小时;好性感啊,如果一个文件频繁更新,那相对来说更容易过期,如果一个文件很少更新,那相对来说缓存的时间更长,当然,这不绝对安全哦
  
  
  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.iyunv.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
页: [1]
查看完整版本: squid 高级篇