Squid の cache_dir に関するメモ
このページの内容は記述が古いので最新のバージョンとは異なる可能性があります。
- 基本中の基本
cache_dir は専用のパーティションを割り当てるほうがよい。ファイルやディレクトリをたくさん作るので、フラグメンテーションが出やすい。Linux だと mount の際に noatime したほうがいい。ファイルシステムはジャーナリング無しのほうがたぶん良い。
- アルゴリズム別の特徴?
- ufs
デフォルトの動作。ディスクIOでブロッキングが起きると遅くなる。可もなく不可もなく。
cache_dir ufs /var/spool/squid 1024 16 256
- diskd
オススメしない。高負荷になると、squid 本体と diskd との間の通信が詰まって急激に遅くなる。ディスクIOに専用の別プロセスを使う。まあまあ速い。CPUコアが複数の場合に向く。CPUコア1個でHTで論理CPU2個の構成にはたぶん向かない。
cache_dir diskd /var/spool/squid 1024 16 256
- aufs
ディスクIOを別スレッドでやる。diskd にくらべるとCPU負荷が高い傾向があるみたい。でも ufs よりマシか?
CPUコアが複数の場合に向く。CPUコア1個でHTで論理CPU2個の構成にはたぶん向かない。
cache_dir aufs /var/spool/squid 1024 16 256
- coss
ディスクキャッシュがファイル一個なので一番速いハズ。できれば、これは特定のパーティションを raw device で使いたい感じ。設定方法がイマイチ判りにくい。
cache_dir coss /var/spool/squid/cachefile 1024 max-size=1048576
cache_swap_log /var/spool/squid/swap.state
- ufs