IBM MQ サービス仮想化のサンプル パフォーマンス ベンチマーク

ldt 開発チームは、IBM MQ のサービス仮想化のパフォーマンスのベンチマークを示すためにテストを実行しました。 システムのパフォーマンスの調整に、これらのベンチマークを使用できます。
dts101
DevTest 開発チームは、IBM MQ のサービス仮想化のパフォーマンスのベンチマークを示すためにテストを実行しました。 システムのパフォーマンスの調整に、これらのベンチマークを使用できます。
環境の詳細
ペイロード
サイズ
XML エレメント
100 B
4
2 KB
75
10 KB
116
100 KB
2802
Machine Settings
設定
CPU
Intel Xeon E5-2680 2.5 GHz
仮想コア数
16
メモリ
16 GB
OS
Windows Server 2012 R2
MQ サーバ
8.0.0.5
CA Service Virtualization のバージョン
10.1
  • DevTest 設定
    • lisa.pathfinder.on=false
      このオプションは、Pathfinder 機能を無効にします (この機能はアプリケーション インサイトとも呼ばれます)。 この機能を使用していない場合、パフォーマンスを向上させるためにオフにすることをお勧めします。
    • lisa.vse.performance.enabled=true
      ライセンス条項で許可されている場合、このオプションをオンにして仮想サービスを拡張できます。 このオプションを使用すると、仮想サービスの容量を 2 以上に増やすことができます。 通常、仮想サービスを使用するには、デフォルトの容量 1 で十分です。 詳細については、「仮想サービスの展開‎」を参照してください。
    • vse.socket.reuse=true
      この設定は、SOCKET オブジェクトを再利用することによって、仮想サービスの効率を向上させます。 このオプションを使用しない場合は、すべての要求に対して新しいソケットと接続が確立されるので、応答時間が長くなり、スループットが大幅に低下します。
    • lisa.net.timeout.ms=60000
      基盤となるメッセージング システムによって使用されるタイムアウト値(ミリ秒)。 メッセージング システムは、DevTest Solutions のさまざまなコンポーネントが相互に通信するための方法です。
    • lisa.net.xstream=false
      この設定は内部メッセージング システムによって使用され、「OBJECT」メッセージング形式を許可します。
    • activemq.msgCompression=true
      これは内部通信システムに関連する設定です。メッセージを圧縮してコンポーネント間の通信を高速化し、スループットを向上させることができます。
    • lisa.dcm.maxExpandPerLoadChange=50
      廃止された設定です。 使用しないでください。
    • lisa.jpm.MaxInstances=5000
      単位: 数 - この設定により、システムが処理できるジョブの最大数を指定します。 ジョブは、テスト インスタンス、仮想サービス リスン スレッド、および作業単位です。
    • lisa.jpm.unlimited=false
      この設定により、システムは負荷(ジョブ)を無制限に受け入れないようになります。 maxInstances 設定を有効にするには、この設定が必要です。
    • lisa.overloadThreshold=30000
      単位: ミリ秒 - テスト ノードは、反応時間にスリープした実際の時間と予期された反応時間を確認することにより、シミュレータがスラッシングしているかどうかを判断しようとします。 この設定は、シミュレータが過負荷状態であるという警告テスト イベントを送信するまでに許容できる反応時間の追加の「スリップ」の長さです。
    • lisa.eventPool.maxQueueSize=65535
      単位: 数 - シミュレータが処理のキューに格納できるイベントの数を決定します。
    • lisa.eclipselink.cache.timeout.ms=3600000
      単位: ミリ秒 - この設定では、永続レイヤ内のオブジェクトの有効期間を決定します。
    • lisa.CycleExecHistory.buffer.size=2
      単位: 数 - フラッシュされる前にメモリに保持されるサイクル イベント データの数。
    • lisa.vse.metrics.sample.interval=1m
      単位: 分 - このプロパティは、トランザクション レートおよび応答時間がサンプリングされる頻度を制御します。
  • JVM 設定(vmoptions)
    • -Xmx2048m
      JVM が使用できる最大ヒープ メモリ。 使用するシナリオに基づいて、より大きな値に調整できます。
    • -XX:+UseConcMarkSweepGC
      JVM で使用するガベージ コレクタのタイプを指定します。 この GC タイプは、ガベージ コレクションによる休止時間をより短くする必要があるアプリケーションに適しています。
    • -Dorg.apache.xml.dtm.DTMManager=org.apache.xml.dtm.ref.DTMManagerDefault
      この設定により、汎用 XML ペイロード パーサのパフォーマンスが向上するように最適化されます。
  • MQ 要求/応答キューの範囲は、
    モデル
    に設定されます。
  • 同時実行数が 30 に増えました。
  • 反応時間は 0 に設定されました。
テスト結果
ペイロード
VSI のトランザクション数
データ プロトコル フィルタ
SV [T/s]
CPU %
(SV マシンの)
メモリ %
(SV マシンの)
100 B
300
ジェネリック XML ペイロード パーサ
6500 T/s
75%
70%
3 KB
300
ジェネリック XML ペイロード パーサ
5500 T/s
80%
70%
10 KB
300
ジェネリック XML ペイロード パーサ
5000 T/s
80%
70%
100 KB
300
ジェネリック XML ペイロード パーサ
1200 T/s
80%
70%
100 B
3000
ジェネリック XML ペイロード パーサ
5500 T/s
80%
70%
3 KB
3000
ジェネリック XML ペイロード パーサ
5300 T/s
80%
70%
10 KB
3000
ジェネリック XML ペイロード パーサ
5000 T/s
80%
70%
100 KB
3000
ジェネリック XML ペイロード パーサ
1100 T/s
80%
70%
100 B
3000
XML データ プロトコル
5600 T/s
99%
65%
ジェネリック XML ペイロード パーサは、キーとして常に 1 つの XML エレメントを選択します。
テスト結果の概要
非推奨の IBM MQSeries トランスポート プロトコルはパフォーマンスが低く、パフォーマンス テストに使用すべきではありません。 代わりに、IBM MQ ネイティブ(キューがアセットとして定義されている)を使用します。
パフォーマンスは、要求の比較に使用される引数の数に大きく依存します。 従って、応答選択に対して引数の制限されたセットが使用される場合、より大きなペイロードにはジェネリック XML ペイロードがより適しています。 ペイロードが大きい場合、XML データ プロトコルはそれほど効率的ではありません。これは、一致のために、ペイロードに各 XML エレメントが引数として自動的に含められるためです。 これは結果として、一致条件の非常に大きなセットになり、受信要求に照らし合わせて評価するのにより長い時間がかかります。
これは、これらの DPH が使用されているすべてのプロトコルに当てはまります。