ファイル・ストア・サイズ構成のヒント
ファイル・ストアのログ・ファイル、永続保管ファイル、および一時保管ファイル内に適切なスペース量を保持することで、オペレーションやトランザクションが予期どおりに動作できるようになります。
最小サイズと最大サイズのデフォルト設定は、ファイル・ストアに専用ディスクを使用しない場合に最適です。 この設定によって、ファイル・ストアは他のディスクのユーザーから保護され、他のディスクのユーザーもファイル・ストアから保護されるためです。 デフォルト設定は、ファイル・ストア専用のディスクがある場合には、あまり適切とは言えません。 その場合は、最大サイズを無制限に設定することを検討してみてください。
一般的に、入出力のパフォーマンスがファイル・ストアの重要な課題となります。 パフォーマンスの向上は、ファイル・ストアに専用ディスクを使用して競合を避けることで実現が可能になります。
ファイル・ストアが専用ディスク上にない場合は、最小サイズと最大サイズを同じにすることを検討してください。 メッセージ・ストアは、最初は最小設定で定義したスペース量を予約します。 したがって、最大設定と最小設定に同じ値を指定すると、 ファイル・ストアで使用するためのディスク・スペースを他のアプリケーションに使用される可能性が少なくなります。 最大サイズを無制限以外の値に設定すると、他のアプリケーションで使用するためのディスク・スペースをファイル・ストアに使用される可能性が少なくなります。 他のアプリケーションには、例えばアプリケーション・サーバー自体が含まれる場合もあります。
信頼性の高いバッテリーを備えたストレージ・デバイスが使用されている場合には、 同期書き込みを要求するオペレーティング・システム設定フラグを無視するように構成したディスク・ハードウェアを使用すると、最も大きくパフォーマンス向上を図ることができます。 こうしたデバイスでは、効率的にログをメモリーおよび保管ファイルに保持することで、書き込みの際に物理的なディスク移動を待つ必要がなくなります。 書き込まれたデータはキャッシュに保管されます。 障害時にデータが失われないという保証は、バッテリーまたはその他の理由でキャッシュが信頼できることを根拠に、ディスク・ベンダーにより提供されるものです。
- ログ・ファイル・サイズ
- データはまず、順番にログ・ファイルに書き込まれます。つまり、新規レコードはファイルの終わりに追加されます。 ログ・ファイルの終わりまでくると、ログ・ファイルの先頭にある古いレコードは、新規レコードによって上書きされます。 このプロセスが繰り返されます。データは、後で永続保管ファイルおよび一時保管ファイルに書き込まれます。 ただし、寿命が短いデータは例外で、ログ・ファイルにのみ書き込まれます。
- ログ・ファイル・サイズにより、送信可能メッセージの最大サイズは制限されます。 ログ・ファイルが小さ過ぎて大きなメッセージを処理できないと、LogFileFullException がスローされます。 ログ・ファイルからの既存のメッセージが永続保管ファイルまたは一時保管ファイルに移動される前に 1 つまたは複数の大きなメッセージが送られると、この例外が発生します。 この例外が発生した場合には、ログ・ファイルのサイズを増やす必要があります。 それ以外の場合は、デフォルト・サイズで十分です。 予期される最大メッセージ・サイズとロードを使用してテストするだけで、デフォルト・サイズが小さ過ぎるかどうかを正確に判断することができます。 ログ・ファイルのサイズは、ファイル・ストアの内部動作を制御するアルゴリズムによって使用されるため、 単に大きいログ・ファイル・サイズを割り振ればよいとは限りません。 ログ・ファイルが過剰に大きいと、メモリー使用量が増加してしまいます。
- 保管ファイル・サイズ
- 永続保管ファイルおよび一時保管ファイルは、最小予約サイズおよび最大サイズをそれぞれ持ちます。永続保管ファイルおよび一時保管ファイルは、作成されると、それらの最小予約サイズとログのサイズをコンシュームします。最大サイズが最小予約サイズより大きい値に設定されている場合、ファイルは、必要に応じて最大サイズにまで大きくなります。
- デフォルトの保管ファイル・サイズは十分です。ただし、特定の構成についてのみテストして、保管ファイルに必要なサイズを明らかにすることができます。 このテストでは、保管ファイルを無制限に設定して (メッセージの上限しきい値に達するまで) 予期される最大サイズのメッセージを各キュー・ポイントに入れます。 このテストで達した保管ファイル・サイズに、ログ・ファイル・サイズを加えた値が、通常、最大保管ファイル・サイズとして使用するのに安全なサイズになります。
- 保管ファイル最大サイズは、送信できるメッセージの上限を決めるためのものではありません。 これは、保管ファイルに格納されるのはメッセージ・データだけではないためです。 キュー・データやプロトコル状態データも保管ファイルに格納されます。 代わりに、キューの上限しきい値を使用して、それ以上のメッセージを送信しないようにしてください。
- 保管ファイルが満杯になると、わずかな可能性ですが、ストア内のすべてのメッセージがコンシュームされた場合でも、ストアがそれ以上データを受け取ることができなることがあります。これは、ログ・ファイル・サイズが最大保管ファイル・サイズの半分を超える場合に発生する可能性があります。
この発生を最小に抑えるためのおおまかな目安としては、
最小保管ファイル・サイズをログ・ファイル・サイズの 2 倍にして、
最大を最小の 2 倍にログ・ファイル・サイズを加えた大きさになるようにします。
例えば、ログ・ファイル・サイズが 100 MB であれば、 最小保管ファイル・サイズを 200 MB (ログ・ファイル・サイズの 2 倍)、 最大サイズを 500 MB (最小保管ファイル・サイズの 2 倍にログ・ファイル・サイズを加算) にすることができます。
ファイル・ストア属性のデフォルト構成は、管理しなくても、典型的なメッセージング・ワークロードで使用するのに十分であるように 意図されています。ログ・ファイルまたは 2 つの保管ファイルのパフォーマンスまたは可用性を向上させるために、 ファイル・ストア属性を構成して、これらのファイルの配置場所を制御できます。同様に、 ログ・ファイルと 2 つの保管ファイルのサイズを制御する属性を構成して、例えば、多数のアクティブ・トランザクションがあるワークロード、 大きなメッセージがあるワークロード、またはメッセージング・エンジンに大量のメッセージ・データがあるワークロードを処理するようにすることができます。
次の表に、ファイル・ストア属性の最小値とデフォルト値を示します。
属性 | 説明 | 最小値およびデフォルト値 |
---|---|---|
ログ・サイズ | ログ・ファイルのサイズ (MB) |
|
最小永続ストア・サイズ | 永続保管ファイルによって予約される、
最小 MB 数。 注: 保管ファイルの最小サイズは、常に最低でもログ・ファイルと同サイズでなければなりません。
|
|
最大永続ストア・サイズ | 永続保管ファイルの最大サイズ (MB)。 注: ストア・ファイルの最大サイズを、ログ・ファイルの 2 倍に拡大することを検討します。ストア・ファイルの最大サイズは、常にログ・ファイルよりも大きくなければなりません。ログ・ファイルのサイズがストア・ファイルの最大サイズと同じだと、メッセージング・エンジンは始動しません。
|
|
最小一時ストア・サイズ | 一時保管ファイルによって予約される、
最小 MB 数。 注: 保管ファイルの最小サイズは、常に最低でもログ・ファイルと同サイズでなければなりません。
|
|
最大一時ストア・サイズ | 一時保管ファイルの最大サイズ (MB)。 注: ストア・ファイルの最大サイズを、ログ・ファイルの 2 倍に拡大することを検討します。ストア・ファイルの最大サイズは、常にログ・ファイルよりも大きくなければなりません。ログ・ファイルのサイズがストア・ファイルの最大サイズと同じだと、メッセージング・エンジンは始動しません。
|
|
無制限の永続ストア・サイズ | 永続保管ファイルのサイズが無制限かどうかを示す |
|
無制限の一時ストア・サイズ | 一時保管ファイルのサイズが無制限かどうかを示す |
|
ログ・ディレクトリー | ログ・ファイルが含まれるディレクトリーの名前 |
|
永続ストア・ディレクトリー | 永続保管ファイルが含まれるディレクトリーの名前 |
|
一時ストア・ディレクトリー | 一時保管ファイルが含まれるディレクトリーの名前 |
|