« Path::Classでnew_absみたいな | メイン | Macbook Proのバッテリー交換 »

Squidのcache_dirの最適化

かなり古いMLが元なので今も有効かよくわからないのですが、
RE: [SQU] Squid cache_dir size calculation from Wisnu Wijayanta on 2000-10-09 (squid-users)
によると、

1)cache_dirのサイズはHDD(パーティション)のサイズの60%以下に
Squidのwikiの方にも記述がありますが、swap.stateファイルや一時ファイルの容量、そしてfilesystemのフラグメンテーションを考えて、少なめにしておく方がよいそうです。


2)最適なL1ディクレクリ数
cache_dirのサブディレクトリ数は、以下の式で求めます。

(((cache-size-KB/avg.-KB)/L2)/L2)*2= L1 dir.

L2はデフォルト256になっており、変更は必要なさそうです。


かなりのCache Object数を抱えるサーバ(2.5 STABLE14)において、上記の設定を試しています。
結果として、HDDの容量の9割ぐらいをcache_dirに割り当てた時に起きていた、Cache Hitのrespose timeがCache Missの場合を大きく上回るようになり、全体のパフォーマンスが落ちることが押さえられているので、まだまだこの最適化は効果ありそうです。

あと、reiserfsとmount時のnoatime,notailは確実に効果あります。