3

JMSTemplateJMS ヘッダー値に基づいて MQ キューから選択的にデキューするために使用するプロセスがあります。

デキュー クエリがキューの先頭にあるメッセージと一致する場合、デキュー レートは約 60 ~ 70 メッセージ/秒です。ただし、クエリが 50、100、または 200 メッセージの深さのメッセージのみに一致する場合、デキュー レートは 1 メッセージ / 3 ~ 4 秒に低下します。

高速デキュー クエリはThreadId='24' or ThreadId='PRIMARY'. 遅いデキュー クエリはThreadId='24'.

処理時間が遅い本当の理由は別の理由かもしれませんが、処理時間の変化は、選択解除クエリの変化にすぎません。

この処理速度は異常だと思います。何がうまくいかない可能性がありますか?

4

1 に答える 1

3

ヘッダーはインデックス化されていないため、ヘッダーによる深いキューのクエリは実際には推奨されません。これが問題かもしれません。CorrelationId と MessageId のクエリ ('ID:48-hex-digits' の形式の場合) はインデックス化され、非常に高速です (セットアップに応じて、非常に深いキューで最大 1 ミリ秒/クエリ)。

私たちもこの問題に直面し、JMS 文字列プロパティ (MQRFH2/usr) ヘッダーではなく、相関 ID ヘッダーで相関 ID をエンコードすることを選択しました。

これは MQ 7.0 でした

于 2012-05-29T10:33:37.617 に答える