星期二, 7月 21, 2009

Squid based reverse proxy tuning

這兩天測試的感想。

不管怎麼 tune,軟體要先選對,不然 tune 起來就很悶了...

Lusca 是改自 Squid 2。Squid 2 因為很多人使用過很長一段時間,所以有很穩定的 codebase (先不管是不是 dirty hack 堆出來),Lusca 則是在 Squid2 的 codebase 下改善效能,用了一年多 (之前 Lusca 的專案名稱叫做 Cacheboy),的確很穩定。

Squid 3 對 CPU 的使用率低很多,但就我自己用的感覺,在 reqs/sec 很高的時候穩定性不太好。另外因為 Squid 3 改寫了很多東西,所以有些重要的功能反而不見了。(像是 cache_peer 的 monitorurl 設定)

雖然 Lusca 在 high reqs/sec 時 CPU usage 高很多,但就目前的 CPU 應該都夠用。就目前其中一台 E5345,上面跑 250reqs/sec 大約吃單顆 30% CPU usage。

比較需要特別提出來的是,在 reqs/sec 很高時,accesslog 寫入反而會變成效能的瓶頸。在 Lusca 可以使用 logdaemon 解決 (這個功能 merge 回 Squid 3.1 了):
access_log daemon:/home/logs/squid/access.log squid
cache_store_log daemon:/home/logs/squid/store.log
logfile_daemon /usr/local/squid/libexec/logfile-daemon
這樣 write log 就不會使 Lusca 卡住而反而造成 CPU bound。

1 則留言:

eda 提到...
網誌管理員已經移除這則留言。