957
中電雲集
squid 優化
Squid優化
Squid優化(一)
Hot!幾個SQUID重要參數:
maximum_object_size 是 能cache最大的文件大小。對應wmv,rm文件,建議設置為32768 kB
maximum_object_size_in_memory 是在內存中cache的最大文件大小。
cache_mem 是SQUID可用到的最大內存。經實踐,4G內存的服務器用2G;超過2G導致SQUID運行不穩
首先要分析SQUID所cache內容:
運行
squidclient -p 80 cache_object://localhost/info
能看到如下內容:
Storage Swap size: 7549104 KB
Storage Mem size: 418804 KB
Mean Object Size: 160.46 KB
Mean Object Size是平均內容大小,一般要把maximum_object_size_in_memory設置成離它最近的128的倍數。在這個例子中maximum_object_size_in_memory 的值應該是256kB。
cache_mem 一般設置成服務器內存的一半或更多,隻要運行過程中LINUX沒有使用SWAP就可以。
再就是按業務分SQUID。
比如某個論壇,用戶能上載圖片和視頻;當然我們要把上載的圖片、視頻放在單獨的域名上,比如img.example.com, video.example.com;這兩個域名隻提供靜態文件服務。
根據統計,圖片的平均大小在100KB,視頻的平均大小在4M,差別是很大,應該建兩個squid分別作圖片和視頻的CACHE。圖片SQUID的 maximum_object_size_in_memory 設置為256KB,視頻的SQUID的maximum_object_size_in_memory設置為8196KB。
Squid優化(2)
Hot!探討動態內容的CACHE。
BBS,論壇是典型動態內容,要保證內容更新及時的同時,提高訪問速度,降低數據庫負擔不是個簡單任務。經實踐發現如下辦法取得很好效果:
1) 配置SQUID,對動態內容強製CACHE,用到的配置參數是refresh_pattern
refresh_pattern ^/forum/viewthread.php 1440 1000% 1440 ignore-reload
/forum/viewthread.php的內容將強製保持1天
2) 修改論壇程序在用戶回複帖子後,向SQUID發送PURGE命令清除相應帖子的頁麵CACHE,保證失效性
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~實現過這一功能,但是有時候生效,有時候無效,還未進一步查明原因.(Edit by Sean)
3) 有些頻繁更新的頁麵可以不CACHE,用no_cache參數
acl no_forum_cache urlpath_regex ^/forum/forumdisplay.php
no_cache DENY no_forum_cache
最後更新:2017-01-04 22:34:32