0

私は RabbitMQ にかなり慣れていないので、RabbitMQ のメッセージ システムが使用される交換の数に応じてどのようにスケーリングするかを理解するために、いくつかのテストを作成する予定です。特に、 N交換の増加が CPU、メモリ、および IO の使用にどのように影響するかを知りたいと思っています。

RabbitMQ には、システム関連の情報を出力する status コマンドを備えた rabbitmqct1.bat アプリケーションが付属していることに気付きました。私が抱えている問題は、メッセージング サイクルのどの時点でベンチマーク ユーティリティを実行するかを決定することです。

取引所にメッセージを公開しているときに実行する必要がありますか? または、キューを取引所にバインドするときに実行しますか? それとも、メッセージがエクスチェンジからキューにプッシュされるときですか?

乾杯。

4

1 に答える 1

1

システムの現在のパフォーマンスを表示する最も簡単な方法は、おそらく Web 管理プラグインです。もう一度、RabbitMQ を使用したパフォーマンスとスケーラビリティのためのルーティング トポロジーを見てください。これは、別の質問でリンクしたものです。

テストの変数について考える価値があります。

  • あなたのメッセージは永続的になりますか?(delivery_mode = 2 を参照) これにより、ディスク IO が増加します
  • メッセージの大きさは?これは、ネットワークパフォーマンスだけでなくメモリ(および永続的である場合はディスクIO)の観点からも、スループットが大きい場合(数kbの場合は圧縮を検討する必要がある場合があります)に大きな違いをもたらします。

また、キューのコンシューマーが存在しない場合、キューのパフォーマンスが低下することにも注意してください。そのため、キューが着実に成長している場合、パフォーマンスが低下します。RabbitMQ キューは、理想的には常に 0 メッセージ (またはほぼゼロ) になります。

いくつかの役立つリンク:

RabbitMQ パフォーマンス測定、パート 1

RabbitMQ パフォーマンス測定、パート 2

于 2012-08-13T21:59:47.837 に答える