2009年7 月10日  |  Written by matsumoto  |  under Apache Yahoo!ブックマークに登録    はてなブックマーク - [Apache2.2] mod_disk_cache で高速化

Apache2.2系で安定して動作し、プロダクションレベルでも運用が可能になりつつある「mod_disk_cache」です。

mod_cache + mod_disk_cache

ありんくのホームページのトップでは、 mod_cachemod_disk_cache を利用してキャッシュさせています。

squidのような効果が期待でき、且つApacheの設定内で調整できますので、以下のような構成の場合
スタティックであまり更新が無いものに関してはフロント側でCacheをかける事ができます。

  • フロント(Proxy)

    • mod_proxy_balancer + mod_cache&mod_disk_cache
  • アプリケーション(mod_perl)
    • mod_perl (Sledge)

他にも例えば動的に生成する画像コンテンツなどもこのCacheを使う事で高速化することができると思います。

設定例

httpd.conf内の設定例は以下です。

  • Apacheのモジュールをロード

    LoadModule cache_module modules/mod_cache.so
    LoadModule disk_cache_module modules/mod_disk_cache.so
  • mod_cacheとmod_disk_cacheの設定例

    <IfModule mod_cache.c>
      CacheDefaultExpire 86400
      CacheMaxExpire 259200
      CacheIgnoreCacheControl On
      CacheIgnoreNoLastMod On
      CacheIgnoreHeaders Set-Cookie
      CacheStoreNoStore On
      CacheStorePrivate On
      <IfModule mod_disk_cache.c>
        CacheRoot /path/to/cache
        CacheEnable disk /
        CacheDisable /tech
        CacheDisable /inquiry
        CacheDirLevels 6
        CacheDirLength 3
      </IfModule>
    </IfModule>

各ディレクティブの解説はまた後ほど追記します。

参考ページ(外部リンク)

私はチーム・マイナス6%です