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

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

そこで、キャッシュを使おうか?と思い、サーバサイドキャッシング機能を組み込んでみます。

Apacheにて必要なキャッシュ関連モジュールは下記の通りです。

cache_module
disk_cache_module
mem_cache_module

この3つがあれば、ディスク/メモリ両方のキャッシュ機能が使えます。
これらモジュールが組み込まれているかどうかは下記コマンドで確認できます。

# httpd -M
(省略)
cache_module (shared)
disk_cache_module (shared)
mem_cache_module (shared)

上記のような表記がなければ、組み込まれていないということになります。

その場合、apxsにてインストールを行います。

# 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

今回はメモリキャッシュは入れないのですが、一応モジュールは入れてみます。

問題なくインストールが出来たら、httpd.confへ設定を行います。

    CacheRoot /var/cache/apache
    CacheEnable disk /
    CacheDirLevels 5
    CacheDirLength 3

上記で”CacheRoot”に指定したディレクトリを作成し、アクセス権の設定を行います。
このときのアクセス権はApache起動ユーザ:グループに設定します。

設定が完了したら、Apacheを再起動してみます。
再起動後、クライアントのWebブラウザからサーバ上のサイトへアクセスし、”CacheRoot”へディレクトリが出来ていれば設定完了です。

[401] [401] Client error: `POST https://webservices.amazon.co.jp/paapi5/getitems` resulted in a `401 Unauthorized` response: {"__type":"com.amazon.paapi5#UnrecognizedClientException","Errors":[{"Code":"UnrecognizedClient","Message":"The Access K (truncated...)

Leave a comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Webサイトのこと、WordPressのこと、何でもお問い合わせ下さい