5

MSMQ を使用して NServiceBus 4.0.4 から良いパフォーマンスを得るのに苦労しています。メッセージが 1 秒あたり約 40 ~ 50 メッセージという遅い速度で着信すると、すべてがうまく機能し、ハンドラーはキューを空に保つことができます。

メッセージ レートを 1 秒あたり平均 400 メッセージ程度に増やすと、ハンドラーはそれ以上処理できなくなります。この時点では、ハンドラーはロジックのない単なる空のハンドラーです。1 秒あたり平均 400 件のメッセージのうち約 300 件をカバーしているようで、メッセージ キューはゆっくりと構築されます。

そして、ここで何が起こるかを理解するのに本当に苦労しています。次に、1 秒あたり 1500 ~ 2000 メッセージのようにさらに増やした場合、ハンドラーはゲームを強化し、1 秒あたり 1500 近くのメッセージを処理します。

NumberOfWorkerThreads(オン/オフと 0-100)、MaxRetries(オン/オフと 0-100)、(オン/オフと 0-100)、MaximumConcurrencyLevel(オン/オフと 0-10000)、(MaximumMessageThroughputPerSecondオン/オフIsTransitional) ) この動作に影響を与えるものはないようです。

何千ものメッセージを送信できますが、今日の処理ではキューからメッセージを取り出して破棄しますが、それらを処理することはできません。

これが何に由来するのか、またはバスのパフォーマンスを向上させる方法について何か良いヒントを知っている人はいますか?

4

1 に答える 1

0

この問題をテストするとき、VSスタジオからデバッガーなしでプロセスを実行してテストしました。なんらかの理由で、VS2013のインストールにデバッガーが接続されていることがわかりました。

デバッガーを切り離したとき、まだ NServiceBus.host プロセスへの接続がありました。VSの外でアプリケーションを実行すると、すべてが大幅に高速化され、この問題が解決されました。次に、VSを再インストールしましたが、問題も解決しました。

ご不便をかけて申し訳ありません。

于 2013-10-04T07:13:37.343 に答える