0

私はメッセージングフレームワークとして、Azure Service Bus上で動作するMassTransitを使用しています。私はWebJobの中からMassTransitを実行しています(問題はないと思いますが)MassTransitとMaxConcurrentCallsは期待どおりに動作していませんか?

私は現在、複数のメッセージを同時に処理するよう努めています。処理するのに時間がかかります。したがって、パフォーマンスを向上させるために、私は各メッセージを1つずつ処理する必要はありません。

MaxConcurrentCallsをたとえば30に設定しようとしましたが、それはそう思われません。メッセージは依然として消費者が1つずつ取り上げています。

私も5などにPrefetchCountを設定しようとしたが、それは何も変わりません。

私は間違っていますか?すべてのヘルプは大幅ので

答えて

0

を高く評価され、私はMassTransit-ベンチマークを使用していくつかのテストをした、と私はMassTransit 3.4.1を使用してAzureのサービスバスで実行する多くの同時消費者を取得することができますよ。

Azureは高速ではないことを認識しています。消費者がほとんど何もしていないと(数ミリ秒で完了しても)、一度に2つ以上表示されることはありませんメッセージ配信がサービスバスにどれだけ不十分であるか。消費者に最大70〜80人のコンシューマを得るために3msの遅延を加えなければならなかった。遅れがなければ、2〜3人のコンシューマ消費者が座っていた。

ので、いくつかの設定を調整することを検討してください。また、あなたは5月小さなメッセージを行っている場合は、下に10ms、でも5msのにそれを減らす場合に役立つホスト上で設定することができ、バッチタイムアウトがあります。より高いプリフェッチ数も同様に役立ちます。

関連する問題