18.5.4. ページングモード
アドレスに送信されたメッセージが設定サイズを越える場合は、そのアドレスが「ページ/ページングモード」になります。
備考
ページングはアドレスごとに個別に行われます。アドレスに
max-size-bytes
を設定する場合は、一致する各アドレスに指定した最大サイズがあることを意味します。ただし、一致するすべてのアドレスの合計サイズが max-size-bytes
に制限されるわけではありません。
page
モードであっても、メモリー不足によるエラーが原因でサーバーがクラッシュする可能性があります。HornetQ は、ディスク上の各ページファイルへの参照を保持します。ページファイルが非常に多い状況では、HornetQ はメモリーの消費に直面する可能性があります。このリスクを最小限に抑えるには、page-size-bytes
属性を適切な値に設定することが重要です。JBoss EAP 6 サーバーのメモリーを( 宛先の数)*(max-size-bytes)
より高く設定する必要があります。そうでないと、メモリー不足のエラーが発生する可能性があります。
サーバー設定ファイル(
Copy to Clipboard
Copied!
以下の表には、アドレス設定のパラメーターをまとめています。
standalone.xml
および domain.xml
)のアドレスの最大サイズをバイト単位で設定できます(max-size-bytes
)。
<address-settings> <address-setting match="jms.someaddress"> <max-size-bytes>104857600</max-size-bytes> <page-size-bytes>10485760</page-size-bytes> <address-full-policy>PAGE</address-full-policy> </address-setting> </address-settings>
<address-settings>
<address-setting match="jms.someaddress">
<max-size-bytes>104857600</max-size-bytes>
<page-size-bytes>10485760</page-size-bytes>
<address-full-policy>PAGE</address-full-policy>
</address-setting>
</address-settings>
要素 | デフォルト値 | 説明 |
---|---|---|
max-size-bytes | 10485760 |
ページングモードになる前にアドレスが取得できる最大メモリーサイズを指定します。
|
page-size-bytes | 2097152 |
これは、ページングシステムで使用される各ページファイルのサイズを指定するために使用されます。
|
address-full-policy | PAGE |
この属性の値は、ページングの決定に使用されます。この属性の値のいずれかを設定できます:
PAGE : ページングを有効にし、設定された制限を超えたメッセージをディスクに指定するには、DROP : 設定された制限を超えるメッセージを警告なしで破棄するには、FAIL : FAIL: メッセージをドロップし、クライアントメッセージプロデューサーに例外を送信するには、BLOCK : クライアントメッセージプロデューサーがセット制限を超えるメッセージを送信するときにブロックします。
|
page-max-cache-size | 5 |
システムは、ページングナビゲーション中に入出力を最適化するために、メモリーに最大
page-max-cache-size のページファイルを維持します。
|
重要
最大サイズに達したときにメッセージをページングしたくない場合は、
address-full-policy
をそれぞれ DROP
に設定することで、メッセージをドロップしたり、クライアント側で例外のあるメッセージをドロップしたり、プロデューサーが追加のメッセージを送信しないようにブロックしたりすることを選択できます。
デフォルト設定では、アドレスが max-size-bytes
に達すると、すべてのアドレスがメッセージのページングに設定されます。
複数のキューを持つアドレス
複数のキューがバインドされているアドレスにメッセージがルーティングされると、メッセージのコピーはメモリー内に 1 つだけあります。各キューは、このメッセージの元のコピーへの参照のみを処理します。したがって、メモリーは、元のメッセージを参照するすべてのキューがメッセージを配信した場合にのみ解放されます。
備考
単一のレイジーキュー/サブスクリプションによって、アドレス全体の入出力のパフォーマンスが軽減されることがあります。これは、ページングシステム上の追加ストレージから送信されたメッセージがすべてのキューにあるためです。