squid純記憶體快取

2021-04-13 12:02:28 字數 2655 閱讀 5579

原貼:http://blog.scaner.i.thu.cn/index.php/2006/11/20/squid-pure-memory-cache/

posted by scaner in : linux, web , trackback

看見網上不少介紹squid的使用經驗,說可以用ramdisk/tmpfs記憶體檔案系統來加速squid. 個人認為完全沒有必要,直接簡單配置一下,就可以讓squid直接充分利用大記憶體:

maximum_object_size 32768 kb

cache_mem 1512 mb # cache使用的最大記憶體

maximum_object_size_in_memory 128 kb # cache在memory中最大object的大小

memory_pools_limit 150 mb # 小物件記憶體池的大小

cache_dir null /tmp # 使用null disk

一些需要注意的事項: squid在編譯的時候,要支援nullfs. maximum_object_size_in_memory應該盡量大於最大的object的尺寸,但是也不要太大,否則會影響記憶體分配的效率.

考慮一下實際應用的情況: 平均頁面物件都不是很大,物件個數也不是很多,同時又有充足的記憶體餘量,內容跟新還算頻繁,這個時候,1.5g和20g或者40g的cache的請求命中 率其實相差非常細微,不過是99%和99.9%的區別,這個時候,完全有理由,拋下緩慢的disk cache,直接使用memory cache,這樣不但能有效降低系統load,還能使squid自身更加輕快便捷.

1. frank liu - january 10, 2007

非常好2. slls - january 16, 2007

受教!但不知cache_mem和memory_pools_limit的大小是何關係。請指教!

謝謝!

3. scaner - january 20, 2007

我 以前對memory_pool_limit理解也有錯誤, memory_pool_limit並不是小物件池的大小,相當於malloc的cache,squid並不直接對釋放的物件呼叫free操作,而是等到 這個大小超過到這個大小超過memory_pool_limit才會真正釋放. 感覺比較合適的大小是cache_mem + memory_pool_limit < 實際記憶體量, memory_pool_limit在150m左右就差不多了.當然還有為系統別的程式留一點餘量。比如說如果是2g記憶體我的cache_mem是 1648m,memory_pool_limit是120m

4.charles - march 10, 2007

不知道你有沒有留意到,如果用 null 方式的儲存,全部放記憶體後,squid 的 response time 會變成非常高。

在我的應用,是 2ms 公升到 30ms,這有可能是因為 squid 主程序不單止要接受請求,還要去從儲存(null 的方式是存在記憶體)裡面查詢相應的資料,再返回。

而用 aufs 或 diskd 方式,squid 可以馬上響應下乙個請求,而將查詢的工作交給 diskd 程序去處理。

5. scaner - march 13, 2007

真 還沒注意過這個現象。30ms這個好像有點誇張啊,我現在乙個主squid的峰值請求處理數能到1200hits/s了。物件資訊都是儲存在記憶體中的,直 接記憶體處理,再怎麼也要比aufs/diskd再倒一次手要快很多吧,我的意思是說,有submit任務到aufs/diskd的功夫,記憶體查詢早就搞定 了。

6.charles - march 19, 2007

你可能架乙個 mrtg 來檢視一下就知道了。只要壓力很大,response 的值就會非常高。

在我的應用中,也是將資料儲存到記憶體裡面的,使用 diskd 直接讀寫 /dev/shm 等。

7. scaner - march 19, 2007

赫赫,你看得是那乙個圖阿?

你先確定一下,是不是用了 epoll ?

如果是用了 epoll,我覺得有這樣的響應時間,我覺得正常。在不支援 epoll 的環境下,squid 的響應時間會慢,而且 cpu 占用較高。

另外,我現在在關注這個:http://varnish.projects.linpro.no

9. scaner - april 3, 2007

用squid就是因為epoll阿.沒有epoll連線數一多cpu就跑上去了.varnish這個東西看著不錯啊,不過看了上面乙個評測的鏈結,lighttpd居然是吞吐量最強的,寒乙個.還是祈求上天light 1.5趕快release吧.  

squid純記憶體快取

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!原貼 posted by scaner in linux,web trackback 看見網上不少介紹squid的使用經驗,說可以用ramdisk tmpfs記憶體檔案系統來加速squid.個人認為完全沒有必要,直接簡單配置一下,就可以讓squid...

squid 清除快取

7.6 刪除快取物件 在某些情況下,你必須從squid的cache裡手工刪除乙個或多個物件。這些情況可能包括 你的使用者抱怨總接收到過時的資料 你的cache因為某個響應而 中毒 squid的cache索引在經歷磁碟i o錯誤或頻繁的crash和重啟後,變得有問題 你想刪除一些大目標來釋放空間給新的...

奇怪的squid快取

乙個asp頁面 response.cachecontrol max age 120 response.write now 一 max age必須大於120,不然不能快取 二 開始squid返回的http header的age值就55!實際快取時間為 120 55 65 另乙個asp頁面 respon...