第19章 チューニングガイドライン
AMQ Broker をチューニングするには、次のガイドラインを確認してください。
19.1. 永続性の調整
永続性のパフォーマンスを向上させるためのヒントについては、以下の情報を参照してください。
メッセージをファイルベースのジャーナルに永続化します。
メッセージの永続性にはファイルベースのジャーナルを使用します。AMQ Broker はメッセージを Java Database Connectivity (JDBC)データベースに永続化することもできますが、ファイルベースのジャーナルを使用する場合よりもパフォーマンスがかかります。
メッセージジャーナルを独自の物理ボリュームに配置します。
追加のみのジャーナルの利点の 1 つは、ディスクヘッド移動が最小限に抑えられることです。ディスクが共有されている場合は、この利点は失われます。トランザクションコーディネーター、データベース、その他のジャーナルなど、複数のプロセスが同じディスクから読み書きされる場合、ディスクヘッドが異なるファイル間でスキップする必要があるため、パフォーマンスに影響を及ぼします。ページングまたは大きなメッセージを使用している場合は、それらが別のボリュームに配置されていることを確認します。
journal-min-files
パラメーターの値を調整します。journal-min-files
パラメーターを、平均的に持続可能な割合に一致するファイル数に設定します。ジャーナルデータディレクトリーに新しいファイルが頻繁に作成される場合、多くのデータが保持される場合は、ジャーナルが保持するファイルの最小数を増やす必要があります。これにより、新規データファイルを作成せず、ジャーナルを再利用できます。ジャーナルファイルサイズを最適化します。
journal-file-size
パラメーターの値を、ディスク上のシリンダーの容量に合わせます。多くのシステムでは、デフォルト値の 10 MB で十分です。非同期 IO (AIO)ジャーナルタイプを使用します。
Linux オペレーティングシステムの場合、ジャーナルタイプは AIO のままにします。AIO の拡張性は、Java new I/O (NIO)よりも優れています。
journal-buffer-timeout
パラメーターの値を調整します。journal-buffer-timeout
パラメーターの値を増やすと、スループットは向上しますが、待ち時間が犠牲になります。journal-max-io
パラメーター値を調整します。AIO を使用している場合は、
journal-max-io
パラメーター値を増やして、パフォーマンスを向上させることができる可能性があります。NIO を使用している場合は、この値を変更しないでください。journal-pool-files
パラメーターを調整します。journal-pool-files
パラメーター(ジャーナルファイルプールの上限しきい値)を、予想される最大負荷に近い数に設定します。必要な場合は、ジャーナルが上限しきい値を超えて拡張されますが、可能な場合はしきい値に縮小されます。これにより、必要以上のディスク領域を消費せずにファイルを再利用できます。ジャーナルデータディレクトリーに新しいファイルの作成が頻繁に発生する場合は、journal-pool-size
パラメーターを増やします。このパラメーターを増やすと、ジャーナルが新規ファイルを作成する代わりに既存のファイルを再利用できるようになり、パフォーマンスが向上します。ジャーナルの書き込みに持続性保証が必要ない場合は、
journal-data-sync
パラメーターを無効にします。電源障害が発生した場合にジャーナルの書き込みで持続性が保証されない場合は、
journal-data-sync
パラメーターを無効にし、パフォーマンスを向上させるためにNIO
またはMAPPED
のジャーナルタイプを使用します。