Apache HTTP サーバ バージョン 2.2
Apache モジュール mod_mem_cache
説明: | URI をキーにしたコンテンツのキャッシュ |
---|---|
ステータス: | Extension |
モジュール識別子: | mem_cache_module |
ソースファイル: | mod_mem_cache.c |
概要
このモジュールは mod_cache
を必要とします。
これは mod_cache
のサポートモジュールとして
動作し、メモリを使用したストレージ管理機構を提供します。
mod_mem_cache
は二つのモードのどちらかで動作するように
設定できます: ファイル記述子のキャッシュかヒープ中のオブジェクトの
キャッシュです。ローカルで生成されたコンテンツに対してキャッシュするときや、
mod_proxy
を使って ProxyPass
(つまりリバースプロキシ向け) に設定したときのバックエンドサーバのコンテンツに対して
キャッシュをするときに、たいへん効果的です。
コンテンツのキャッシュへの保存と取得は URI に基づいたキーが使われます。 アクセス保護のかけられているコンテンツはキャッシュされません。
MCacheMaxObjectCount ディレクティブ
説明: | キャッシュに保管されるオブジェクトの最大数 |
---|---|
構文: | MCacheMaxObjectCount value |
デフォルト: | MCacheMaxObjectCount 1009 |
コンテキスト: | サーバ設定ファイル |
ステータス: | Extension |
モジュール: | mod_mem_cache |
MCacheMaxObjectCount
ディレクティブは
キャッシュされるオブジェクトの最大数を指定します。
この値はハッシュテーブルを作成するときに使われます。
新しいオブジェクトを挿入するときに、オブジェクトの最大数に
達してしまっているとき、新しいオブジェクトをキャッシュできるように、
オブジェクトを一つ消去します。オブジェクトは
MCacheRemovalAlgorithm
で指定されたアルゴリズムに従って削除されます。
例
MCacheMaxObjectCount 13001
MCacheMaxObjectSize ディレクティブ
説明: | キャッシュに保管できるドキュメントの最大サイズ (バイト) |
---|---|
構文: | MCacheMaxObjectSize bytes |
デフォルト: | MCacheMaxObjectSize 10000 |
コンテキスト: | サーバ設定ファイル |
ステータス: | Extension |
モジュール: | mod_mem_cache |
MCacheMaxObjectSize
はドキュメントを
キャッシュするかどうかを判定する、最大のサイズをバイト数で設定します。
例
MCacheMaxObjectSize 6400000
注
MCacheMaxObjectSize
の値は MCacheMinObjectSize
で指定した値よりも大きくなければなりません。
MCacheMaxStreamingBuffer ディレクティブ
説明: | ストリームされている応答をキャッシュ不能と決定するまでに メモリにバッファする最大量 |
---|---|
構文: | MCacheMaxStreamingBuffer size_in_bytes |
デフォルト: | MCacheMaxStreamingBuffer of 100000 か MCacheMaxObjectSize の少い方 |
コンテキスト: | サーバ設定ファイル |
ステータス: | Extension |
モジュール: | mod_mem_cache |
MCacheMaxStreamingBuffer
ディレクティブは、
サイズが大きすぎてキャッシュできないと判断するまでの、
ストリーム応答のバッファのための最大バイト数を指定します。
ストリーム応答とは、コンテンツの全体がすぐには得られず、
Content-Length
がわからない応答を指します。
ストリーム応答を行なうようなものにはプロキシされた応答や、
CGI スクリプトの出力などがあります。デフォルトではストリームの応答は
Content-Length
がない限りキャッシュされません。
このような動作になっている理由は、結局キャッシュに収まりきらないと
判断することになってしまうような、サイズの大きな応答のバッファリングに、
大量のメモリが消費されるのを避けるためです。
MCacheMaxStreamingBuffer
ディレクティブを使うと、
Content-Length
を含まない応答に対して指定された最大量まで
バッファするようにできます。バッファを使い切ると、バッファ中の
コンテンツは捨てられ、キャッシュ動作を中止します。
注:
MCacheMaxStreamingBuffer
に非零の値を
使っても、クライアントへの応答の転送に特に遅延は発生しません。
mod_mem_cache
はストリームコンテンツの断片を
バッファにコピーした後、即座に、その部分をクライアントへの配送の
次段の出力フィルタに送ります。
# Enable caching of streamed responses up to 64KB:
MCacheMaxStreamingBuffer 65536
MCacheMinObjectSize ディレクティブ
説明: | キャッシュに保管されるドキュメントの最小サイズ (バイト) |
---|---|
構文: | MCacheMinObjectSize bytes |
デフォルト: | MCacheMinObjectSize 0 |
コンテキスト: | サーバ設定ファイル |
ステータス: | Extension |
モジュール: | mod_mem_cache |
MCacheMinObjectSize
ディレクティブは、ドキュメントを
キャッシュするかどうかを判定する、最小のサイズをバイト数で設定します。
例
MCacheMinObjectSize 10000
MCacheRemovalAlgorithm ディレクティブ
説明: | キャッシュから削除するドキュメントを選ぶためのアルゴリズム |
---|---|
構文: | MCacheRemovalAlgorithm LRU|GDSF |
デフォルト: | MCacheRemovalAlgorithm GDSF |
コンテキスト: | サーバ設定ファイル |
ステータス: | Extension |
モジュール: | mod_mem_cache |
MCacheRemovalAlgorithm
ディレクティブは、
キャッシュから削除するドキュメントを選択するためのアルゴリズムを
指定します。選択肢は二つあります:
LRU
(Least Recently Used)LRU
一番長くアクセスされていないドキュメントを削除します。GDSF
(GreadyDual-Size)GDSF
はキャッシュミスのコストとドキュメントのサイズをもとに、 ドキュメントのキャッシュに対して優先度をつけます。 優先度の一番低いドキュメントが最初に削除されます。
例
MCacheRemovalAlgorithm GDSF
MCacheRemovalAlgorithm LRU
MCacheSize ディレクティブ
説明: | キャッシュに使われるメモリの最大量をバイト単位で指定 |
---|---|
構文: | MCacheSize KBytes |
デフォルト: | MCacheSize 100 |
コンテキスト: | サーバ設定ファイル |
ステータス: | Extension |
モジュール: | mod_mem_cache |
MCacheSize
ディレクティブはキャッシュに
使われるメモリの大きさをキロバイト (1024 バイト単位) で設定します。
新しいオブジェクトをキャッシュに挿入することになり、オブジェクトの
サイズが残りのメモリより大きい場合は、その新しいオブジェクトの挿入が
可能になるまで、古いオブジェクトが削除されていきます。
オブジェクトは MCacheRemovalAlgorithm
で指定したアルゴリズムに従って削除されます。
例
MCacheSize 700000
注
MCacheSize
の値は MCacheMaxObjectSize
ディレクティブで指定した値より
大きくなければなりません。