htcachecleanについて

apacheでmod_disk_cacheを利用してキャッシュサーバを構築していますが、

mod_disk_cacheはキャッシュが利用するディスクの残り容量をコントロールしてくれません。

ですので、htcachecleanを使って容量のコントロールを行います。

ただ、このhtcacheclean

mtimeを利用してファイルを削除する仕様ですので、

ファイルが作成もしくは修正された時刻順(古いファイルから)で削除が行われるためヒット率が向上しません。

atimeを利用すれば人気のないコンテンツから削除が可能となりヒット率が向上するのですが現在の仕様ではそうなっていません。

そこで下記の3つのアプローチのいずれかで不人気作品からファイルが消えていくように設定します。

  1. htcachecleanのソースを改造する
  2. findコマンドを利用してatime基準で削除する。htcachecleanを使わない。
    例)find /cache/* -atime +600 -exec rm -rf {}
  3. findでアクセス頻度の少ないファイルを抽出しtouchでmtimeを強制的に修正してhtcachecleanを使って削除

キャッシュサーバとなるとnoatimeでmountしている方も多いと思いますが、

dmmではnoatimeオプションは指定せずにこういった用途のため残すようにしています。

apache, linux

Posted by Akira


PAGE TOP