閱讀957 返回首頁    go 中電雲集


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

  上一篇:go 圖片型squid的配置
  下一篇:go 網站CDN獲取真實IP解決方案