0

Windows サーバーで最新バージョンの RabbitMQ 2.1.1 を実行し、.Net クライアントを使用しています。次のようにテストを実行しています: 500000 メッセージを一時的な非持続的ファンアウト交換に発行し、クライアントは自動削除キューを使用します。キューは 1 つだけです。パブリッシャーは 1 秒あたり最大 10,000 件のメッセージを送信します。すべてのメッセージが送信された後、切断されます。rabbitmqctl ツールは、キュー サイズが 0 であることを示していますが、受信側は数秒間メッセージを受信して​​おり、メッセージの 60% しか受信していません。このような遅延が発生する理由と、それを最小限に抑える方法を知っていますか?

乾杯!

4

1 に答える 1

1

no_ack = True(確認応答が無効)でbasic.consumeを使用している場合、サーバーはすべてのメッセージを送信するだけです。

サーバーがすべてのメッセージをコンシューマーに送信したときに表示される動作が発生しますが(キューが空であるため)、ネットワークのどこかまたはコンシューマーにまだバッファリングされている可能性があります。

于 2010-11-03T17:44:55.690 に答える