動的 IMS メッセージ キューのパフォーマンス チューニング

Enterprise Server TM システムはデフォルトで、トランザクションにおける重要時点で、オペレーティング システムのバッファーを物理ディスクに一方的にフラッシュします。このフラッシュは、Enterprise Server TM が異常終了する障害が発生した場合にメッセージ キューのトランザクションの整合性を確保するために必要です。このデフォルトの動作にかかるオーバーヘッドがパフォーマンスに大きく影響することがあります。しかし、起動時には別のオプションを設定し、これらのオプションを動的に調整することでパフォーマンスを改善できます。

ES_TMC_AGGREGATE 環境変数

IMS メッセージ キューのパフォーマンス設定を初期化し、動的パフォーマンス チューニングを有効にするには、ES_TMC_AGGREGATE 環境変数を使用します。具体的には、次の 2 つの目的があります。

  • オペレーティング システムからディスクへのフラッシュ方法として、デフォルトの方法または別の方法を起動時に指定する。
  • フラッシュ方法を動的に変更し、エンタープライズ サーバー リージョンを再起動することなくそれをメッセージ キューに適用できるようにする。

Administration の [Server > Properties > General] タブで [Configuration Information] フィールドの[ES Environment] セクションに ES_TMC_AGGREGATE を追加して、特定のエンタープライズ サーバー リージョンに対して ES_TMC_AGGREGATE を設定します。以下の構文を使用します。

[ES-Environment]
ES_TMC_AGGREGATE={[,N|,D]|nnn,Y}
,N
デフォルトの動作を設定します。トランザクションにおける重要時点で、オペレーティング システムのバッファーを物理ディスクに一方的にフラッシュします。起動時にデフォルトで使用される方法は変更されません。ESMAC で動的変更が可能になります。設定後、デフォルト以外のさまざまな設定を動的に変更して、その結果を確認できます。
,D
オペレーティング システム バッファーからディスクへのトランザクション フラッシュを無効にします。これによりメッセージ キューのパフォーマンスは大幅に向上しますが、システムに障害が発生したときに、メッセージ キュー内でトランザクションの整合性を維持できない可能性があります。
注記: この設定を使用する場合は、予期しない結果が生じないよう、Administration の [Server > Properties > MSS > IMS > TM > General] タブで次の静的オプションを設定することを強く推奨します。
  • [Cold start][Everything (queue)] に設定します。
  • [Persist] を選択します。

詳細については、「サーバー インスタンス プロパティ: MSS IMS TM 一般」を参照してください。

nnn,Y
オペレーティング システム バッファーからディスクへの集計トランザクション フラッシュを有効にします。nnn は、さらなるバッファーの積み上げが許可される時間の間隔 (ミリ秒) です。この時間を超えたときにバッファーがフラッシュされます。有効な値は、0255です。

スレッドがトランザクションにおける重要時点に達してフラッシュが要求されると、TM は指定された時間だけ待機してやはりフラッシュを要求する後続のスレッドを累積します。間隔の終わりに、累積されたすべての要求に対してフラッシュが 1 度実行されるため、オペレーティング システムへのフラッシュ コマンドの発行回数を減らすことでパフォーマンスが改善されることがあります。

注記:
  • フラッシュを要求したスレッドは、フラッシュが確定されるまで待つことになります。
  • 通常、SSD 搭載システムなど高パフォーマンスの I/O サブシステムにメッセージ キューがある場合、1または2などの小さい値を使用することで、最高の結果を期待できます。値を10以上に設定しても、パフォーマンスが改善されることはほとんどありません。

ESMAC を使用した動的変更

ESMAC の [IMS Control] ページの [TM System Overview and Control] セクションから、IMS メッセージ キューのパフォーマンス設定を動的に調整および適用できます。この機能はさまざまなパフォーマンス設定をテストし、必要に応じてパフォーマンスを動的に調整するのに使用します。

重要:ES_TMC_AGGREGATE 環境変数設定およびそれに関連する動的 ESMAC 設定によるパフォーマンスの効果は、Enterprise Server が実行されているハードウェアやオペレーティング システムに大きく依存します。プロダクション システムへのこれらの設定の適用は、入念なテストを実施したうえで行ってください。