2

アプリケーション コンポーネント間のメッセージ ベースの通信には、Rebus と MSMQ を使用しています。コンポーネントはすべて同じマシン上で実行されています。

通常、メッセージの送信と受信の間の時間は 1 秒未満です。しかし、システムが 1 分ほどアイドル状態 (メッセージが送信されていないことを意味します) の場合、次の 1 つまたは 2 つのメッセージが配信されるまでに約 5 秒かかることがあります。MSMQ パフォーマンス カウンターは、これらのメッセージがその間キューに留まっていることを示しています。

このアプリケーションでは、メッセージの配信時間が一定 (1 秒未満) であることが望ましいです。

この動作の理由は何でしょうか? MSMQ または Rebus でメッセージの配信時間に影響を与える方法はありますか? より安定した配達時間を得るために、別の輸送タイプを選択する必要がありますか?

4

2 に答える 2

1

私が覚えている限りでは、Rebus はキューにメッセージがないことに気付くと、次にピークするまでの待機秒数を徐々に増やします。

あなたが言及した5秒は、DEBUGモードでログインしてRebusを実行していたときの最大待機時間として以前に経験したこととうまく対応しているようです(タイムスパンが長くなることがわかります)。

于 2014-09-23T12:06:27.147 に答える