No Image

Webアクセスの負荷を軽減するために、apache2にサーバサイドキャッシング機能を組み込む

いろいろと最近、サーバ周りに不安要素が増えてきております。
その中でも最近少々気になるのがWebへアクセスした際のレスポンス。
サーバスペック上、致し方ない部分もあるのですが、サーバスペックを上げるわけにもいかず、ソフトウェアレベルでの対応を余儀なくされております。

そこで、キャッシュを使おうか?と思い、サーバサイドキャッシング機能を組み込んでみます。
Apacheにて必要なキャッシュ関連モジュールは下記の通りです。
cache_module
disk_cache_module
mem_cache_module
この3つがあれば、ディスク/メモリ両方のキャッシュ機能が使えます。
これらモジュールが組み込まれているかどうかは下記コマンドで確認できます。
[bash]# httpd -M
(省略)
cache_module (shared)
disk_cache_module (shared)
mem_cache_module (shared)[/bash]
上記のような表記がなければ、組み込まれていないということになります。
その場合、apxsにてインストールを行います。
[bash]# cd /..Apacheのソース../modules/cache/
# apxs -i -a -c mod_cache.c cache_util.c cache_storage.c
# apxs -i -a -c mod_mem_cache.c cache_cache.c cache_hash.c cache_pqueue.c
# apxs -i -a -c mod_disk_cache.c[/bash]
今回はメモリキャッシュは入れないのですが、一応モジュールは入れてみます。
問題なくインストールが出来たら、httpd.confへ設定を行います。
[bash]
    CacheRoot /var/cache/apache
    CacheEnable disk /
    CacheDirLevels 5
    CacheDirLength 3
[/bash]
上記で”CacheRoot”に指定したディレクトリを作成し、アクセス権の設定を行います。
このときのアクセス権はApache起動ユーザ:グループに設定します。
設定が完了したら、Apacheを再起動してみます。
再起動後、クライアントのWebブラウザからサーバ上のサイトへアクセスし、”CacheRoot”へディレクトリが出来ていれば設定完了です。
[tmkm-amazon]4887187580[/tmkm-amazon]

Share this post