付録E メッセージングジャーナル設定要素

以下の表は、AMQ Broker メッセージングジャーナルに関連する設定要素の一覧です。

表E.1 アドレス設定要素

名前説明

journal-directory

メッセージジャーナルが置かれているディレクトリー。デフォルト値は BROKER_INSTANCE_DIR/data/journal です。

最適なパフォーマンスを得るには、ディスクヘッドの移動を最小限に抑えるために、ジャーナルを独自の物理ボリュームに置く必要があります。ジャーナルが、バインディングジャーナル、データベース、トランザクションコーディネーターなど、他のファイルを書き込む可能性のある他のプロセスと共有するボリュームにあるとします。その場合、書き込み時にディスクヘッドがこれらのファイル間で素早く移動するため、パフォーマンスが大幅に低下する可能性があります。

SAN を使用する場合、各ジャーナルインスタンスに独自の LUN ( 論理ユニット ) を指定する必要があります。

create-journal-dir

true に設定すると、ジャーナルディレクトリーがまだ存在しない場合は、journal-directory で指定された場所にジャーナルディレクトリーが自動的に作成されます。デフォルト値は true です。

journal-type

有効な値は NIO または ASYNCIO です。

NIO に設定すると、ブローカーは Java NIO インターフェイスをそのジャーナルに使用します。ASYNCIO に設定され、ブローカーは Linux 非同期 IO ジャーナルを使用します。ASYNCIO を選択していても Linux を実行していない場合や、libaio がインストールされていない場合、ブローカーはこれを検出し、NIO の使用に自動的にフォールバックします。

journal-sync-transactional

true に設定すると、ブローカーはすべてのトランザクションデータをトランザクション境界のディスクにフラッシュします ( つまり、コミット、準備、およびロールバック )。デフォルト値は true です。

journal-sync-non-transactional

true に設定すると、ブローカーは非トランザクションメッセージデータ ( 送信および確認応答 ) を毎回ディスクにフラッシュします。デフォルト値は true です。

journal-file-size

各ジャーナルファイルのサイズ (バイト単位)。デフォルト値は 10485760 バイト (10MiB) です。

journal-min-files

起動時にブローカーが事前作成するファイルの最小数。既存のメッセージデータがない場合にのみ、ファイルが事前に作成されます。

定常状態でキューに格納する予定のデータ量に応じて、データ全体の量と一致するようにこのファイルの数を調整する必要があります。

journal-pool-files

システムは必要な数だけファイルを作成します。ただし、ファイルを回収すると、journal-pool-files に縮小されます。

デフォルト値は -1 です。つまり、作成後はジャーナルのファイルは削除されません。ただし、システムは無限に拡張することができませんが、永久に拡張できる宛先のページングを使用する必要があるため、システムを拡張する必要があります。

journal-max-io

常時 IO キューに格納できる書き込み要求の最大数を制御します。キューが満杯になると、領域が解放されるまで書き込みがブロックされます。

NIO を使用する場合、この値は常に 1 である必要があります。AIO を使用する場合、デフォルト値は 500 です。最大 AIO の合計は、OS レベルに設定された値 ( /proc/sys/fs/aio-max-nr ) より大きくすることはできません。通常、65536 になります。

journal-buffer-timeout

バッファーがフラッシュされるタイミングのタイムアウトを制御します。AIO は通常 NIO よりもフラッシュ率が高いため、システムは NIO と AIO の両方で異なるデフォルト値を維持します。

NIO のデフォルト値は 3333333 ナノ秒 ( 300 回 / 秒 ) で、AIO のデフォルト値は 50000 ナノ秒 ( 2000 回 / 秒 ) です。

注記

タイムアウト値を長くすると、レイテンシーを代償にシステムのスループットを増やすことができる可能性があり、デフォルト値はスループットと待ち時間のバランスをうまくとるように選択されています。

journal-buffer-size

AIO でのタイムアウトバッファーのサイズ。デフォルト値は 490KiB です。

journal-compact-min-files

ブローカーがジャーナルを圧縮する前に必要なファイルの最小数。少なくとも journal-compact-min-files が設定されない限り、圧縮アルゴリズムは開始されません。デフォルト値は 10 です。

注記

値を 0 に設定すると、ジャーナルが無限に増大するため、圧縮は無効になり危険になる可能性があります。

journal-compact-percentage

圧縮を開始するしきい値。journal-compact-percentage 未満がライブデータであると判断されると、ジャーナルデータが圧縮されます。また、少なくとも journal-compact-min-files のデータファイルがジャーナルに存在しなければ、圧縮は起動されません。デフォルト値は 30 です。