一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

對squid中refresh_pattern的一些理解和建議

refresh_pattern的作用:
用于確定一個頁面進入cache后,它在cache中停留的時間。refresh_pattern規則僅僅應用到沒有明確過時期限的響應。原始服務器能使用Expires頭部,或者Cache-Control:max-age指令來指定過時期限。
語法:refresh_pattern [-i] regexp min percent max [options]
min參數是分鐘數量。它是過時響應的最低時間限制。如果某個響應駐留在cache里的時間沒有超過這個最低限制,那么它不會過期。類似的,max參數是存活響應的最高時間限制。如果某個響應駐留在cache里的時間高于這個最高限制,那么它必須被刷新。
在最低和最高時間限制之間的響應,會面對squid的最后修改系數LM-factor算法LM-factor=(response age)/(resource age)。對這樣的響應,squid計算響應的年齡和最后修改系數,然后將它作為百分比值進行比較。響應年齡簡單的就是從原始服務器產生,或最后一次驗證響應后,經歷的時間數量。源年齡在Last-Modified和Date頭部之間是不同的。LM-factor是響應年齡與源年齡的比率。
常用的幾個參數的意思

override-expire
該選項導致squid在檢查Expires頭部之前,先檢查min值。這樣,一個非零的min時間讓squid返回一個未確認的cache命中,即使該響應準備過期。

override-lastmod
改選項導致squid在檢查LM-factor百分比之前先檢查min值。

reload-into-ims
該選項讓squid在確認請求里,以no-cache指令傳送一個請求。換句話說,squid在轉發請求之前,對該請求增加一個If-Modified- Since頭部。注意這點僅僅在目標有Last-Modified時間戳時才能工作。外面進來的請求保留no-cache指令,以便它到達原始服務器
一般情況可以使用 reload-into-ims。它其實是強行控制對象的超時時間,這違反了http協議的精神,但是在帶寬較窄的場合,可以提高明顯系統相應時間。
舉例:
refresh_pattern -i /.css$ 1440 50% 129600 reload-into-ims
refresh_pattern -i /.xml$ 1440 50% 129600 reload-into-ims
refresh_pattern -i /.html$ 1440 90% 129600 reload-into-ims-
refresh_pattern -i /.shtml$ 1440 90% 129600 reload-into-ims
refresh_pattern -i /.hml$ 1440 90% 129600 reload-into-ims
refresh_pattern -i /.jpg$ 1440 90% 129600 reload-into-ims
refresh_pattern -i /.png$ 1440 90% 129600 reload-into-ims
refresh_pattern -i /.gif$ 1440 90% 129600 ignore-reload
refresh_pattern -i /.bmp$ 1440 90% 129600 reload-into-ims
refresh_pattern -i /.js$ 1440 90% 129600 reload-into-ims

ignore-reload
該選項導致squid忽略請求里的任何no-cache指令。
所以。如果希望內容一進入cache就不刪除,直到被主動purge掉為止,可以加上ignore-reload選項,這個我們常用在mp3,wma,wmv,gif之類。
Examples:
refresh_pattern -i /.mp3$ 1440 50% 2880 ignore-reload
refresh_pattern -i /.wmv$ 1440 50% 2880 ignore-reload
refresh_pattern -i /.rm$ 1440 50% 2880 ignore-reload
refresh_pattern -i /.swf$ 1440 50% 2880 ignore-reload
refresh_pattern -i /.mpeg$ 1440 50% 2880 ignore-reload
refresh_pattern -i /.wma$ 1440 50% 2880 ignore-reload
resource age =對象進入cache的時間-對象的last_modified
response age =當前時間-對象進入cache的時間
LM-factor=(response age)/(resource age)
舉個例子,這里只考慮percent, 不考慮min 和max
例如:refresh_pattern 20%
假設源服務器上www.aaa.com/index.htm -----lastmodified 是 2007-04-10 02:00:00
squid上 proxy.aaa.com/index.htm index.htm進入cache的時間 2007-04-10 03:00:00

1)如果當前時間 2007-04-10 03:00:00
resource age =3點-2點=60分鐘
response age =0分鐘
index.htm還可以在cache停留的時間(resource age)*20%=12分鐘
也就是說,index.htm進入cache后,可以停留12分鐘,才被重新確認。

2)如果當前時間 2007-04-10 03:05:00
resource age =3點-2點=60分鐘
response age =5分鐘
index.htm還可以在cache停留的時間(resource age)*20%=12分鐘-5=7
LM-factor=5/60=8.3%<20%

一直到2007-04-10 03:12:00 LM-factor=12/60=20% 之后,cache中的頁面index.htm終于stale。
如果這時沒有index.htm的請求,index.htm會一直在緩存中,如果有index.htm請求,squid收到該請求后,由于已經過期, squid會向源服務器發一個index.htm是否有改變的請求,源服務器收到后,如果index.htm沒有更新,squid就不用更新緩存,直接把緩存的內容放回給客戶端,同時,重置對象進入cache的時間為與源服務器確認的時間,比如2007-04-10 03:13:00,如果正好在這個后重新確認了頁面。重置后,resource age變長,相應在cache中存活的時間也變長。

如果有改變則把最新的index.htm返回給squid,squid收到會更新緩存,然后把新的index.htm返回給客戶端,同時根據新頁面中的Last_Modified和取頁面的時間,重新計算resource age,進一步計算出存活時間。

實際上,一個頁面進入cache后,他的存活時間就確定了,即 (resource age) * 百分比,一直到被重新確認。

php技術對squid中refresh_pattern的一些理解和建議,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 五月天网站最新永久网址 | 四虎精品国产一区二区三区 | 婷婷中文在线 | 国产精品久久久亚洲第一牛牛 | 91在线网站 | 91麻豆国产| 成年ssswww日本| 日本乱理伦中文三区 | 日韩激情中文字幕 | 在线播放亚洲美女视频网站 | 国产精品视频第二区第二页 | 亚洲激情视频网站 | 国产成人综合网 | 天天精品视频在线观看资源 | 福利在线视频观看 | 久久亚洲人成网站 | 色视频网 | 久久久久青草线蕉亚洲麻豆 | 91情侣在线偷精品国产 | 日韩精品一区二区三区中文在线 | 一区二区三区中文国产亚洲 | 欧美色欧美亚洲高清在线观看 | 一级毛毛片毛片毛片毛片在线看 | 在线观看国产一区二区三区 | 亚洲一区二区在线视频 | 91日韩视频在线观看 | 美女黄影院 | 国产普通话一二三道 | 丁香八月婷婷 | 久久精品国产四虎 | 精品国产免费观看 | 成年人天堂 | 亚洲精品ccc | 91热成人精品国产免费 | 铃原爱蜜莉福利一区在线观看 | 国产精品免费一区二区区 | 色偷偷亚洲女人天堂观看欧 | 色天天躁夜夜躁天干天干 | 在线亚洲精品中文字幕美乳 | 精品四虎免费观看国产高清 | 国内精品久久久久久麻豆 |