櫻飛
2011-01-06, 11:55 AM
一個網頁的組成有以下這些元素(物件)
jpg、png、gif、js、flv、xml、swf、txt、html、shtml.....
用 Squid 緩存時,最理想的情況是
在上述網頁元素(物件),沒有被原始站點改變的情況下
不與遠端伺服器做任何連接(傳送封包)
直接從 Squid 的快取中返回資料給使用者的瀏覽器
於是我做了以下的分類
圖片 (jpg、png、gif、bmp)
程式語言 (js、css、xml)
其它 (flv、swf)
這些物件的特點
1.變更(更新)頻率較低
2.變更(更新)後,通常網址也會做變更
所以這些物件在 Squid 的 refresh_pattern 設定是 (版本是 2.7)
43200 60% 43200 override-expire ignore-reload ignore-no-cache ignore-private
ignore-auth ignore-stale-while-revalidate
也就是東西快取下來,直接放置一個月,也無視瀏覽器的變更請求
再來是另外一類
html、shtml、txt、php、jsp
這些元素則「必須」與遠端伺服器做連接來確認內容是否有更新
否則瀏覽器取得舊資料的可能性將大增
所以設定變成
0 30% 10080 reload-into-ims ignore-reload ignore-no-cache ignore-private
ignore-auth ignore-stale-while-revalidate
關鍵在 reload-into-ims 這個語法,Squid 會先去遠端伺服器確認目標物件是否
被變更過,若有則更新,若無責返回舊資料,這樣做應該比起無條件整個重新抓取資料的速度要快
另外那個百分比的參數還是有點不懂意思
--
這樣的設定用了兩個月,八萬的 http Requests,Hits 了兩萬八左右 (使用者只有一人)
也就是 34% 的命中率 (這是在瀏覽器本身的快取設定開啟的狀態下,如果關閉瀏覽器
(Firefox)的快取,那命中率快提高至 45% 以上甚至 60%,根據實驗,就算使用了 Squid
瀏覽器的內建快取不關閉時的速度/效率比關閉來的高)
大致就是如此
不曉得其他版友是如何設定 Squid 以提高命中率的呢?
歡迎拍磚、討論...
贊助商連結
jpg、png、gif、js、flv、xml、swf、txt、html、shtml.....
用 Squid 緩存時,最理想的情況是
在上述網頁元素(物件),沒有被原始站點改變的情況下
不與遠端伺服器做任何連接(傳送封包)
直接從 Squid 的快取中返回資料給使用者的瀏覽器
於是我做了以下的分類
圖片 (jpg、png、gif、bmp)
程式語言 (js、css、xml)
其它 (flv、swf)
這些物件的特點
1.變更(更新)頻率較低
2.變更(更新)後,通常網址也會做變更
所以這些物件在 Squid 的 refresh_pattern 設定是 (版本是 2.7)
43200 60% 43200 override-expire ignore-reload ignore-no-cache ignore-private
ignore-auth ignore-stale-while-revalidate
也就是東西快取下來,直接放置一個月,也無視瀏覽器的變更請求
再來是另外一類
html、shtml、txt、php、jsp
這些元素則「必須」與遠端伺服器做連接來確認內容是否有更新
否則瀏覽器取得舊資料的可能性將大增
所以設定變成
0 30% 10080 reload-into-ims ignore-reload ignore-no-cache ignore-private
ignore-auth ignore-stale-while-revalidate
關鍵在 reload-into-ims 這個語法,Squid 會先去遠端伺服器確認目標物件是否
被變更過,若有則更新,若無責返回舊資料,這樣做應該比起無條件整個重新抓取資料的速度要快
另外那個百分比的參數還是有點不懂意思
--
這樣的設定用了兩個月,八萬的 http Requests,Hits 了兩萬八左右 (使用者只有一人)
也就是 34% 的命中率 (這是在瀏覽器本身的快取設定開啟的狀態下,如果關閉瀏覽器
(Firefox)的快取,那命中率快提高至 45% 以上甚至 60%,根據實驗,就算使用了 Squid
瀏覽器的內建快取不關閉時的速度/效率比關閉來的高)
大致就是如此
不曉得其他版友是如何設定 Squid 以提高命中率的呢?
歡迎拍磚、討論...
贊助商連結