1

これらのアプリサーバーで、Tomcatエンキューメッセージをローカルの組み込みブローカーに実行しています。これらのメッセージは、スタンドアロンブローカーに転送されます。メッセージを消費するスタンドアロンブローカーに接続された別のマシンがあります。組み込みブローカーとスタンドアロンブローカーは永続的です。

組み込みブローカーでは、メッセージがスタンドアロンブローカーに転送されるよりも速く成長するこのキューがあります。ディスパッチ数がエンキュー数よりも少ないことがはっきりとわかります。スタンドアロンブローカーに接続されている組み込みブローカーのこのキューに接続されているコンシューマーは1つだけであり、スタンドアロンブローカーに接続されているコンシューマーは多数あります。

スタンドアロンブローカーのキューサイズはほぼ0で、CPUは約95%アイドルです。つまり、スタンドアロンブローカーは最大にならず、メッセージはスタンドアロンブローカーではなく組み込みブローカーに蓄積されます。

スタンドアロンブローカーが組み込みブローカーから読み取るスレッド/コンシューマーの数を増やすための構成パラメーターはありますか?または、組み込みブローカーがスタンドアロンブローカーにメッセージをより速くまたはより多く送信するようにするには?

すべてのサーバーでActiveMQ5.6.0を実行しています。

何か案は?

4

1 に答える 1

1

ActiveMQ のサイトにあるすべての最適化チュートリアルと、それらの寄稿者によって作成され、conduitSubscriptions を無効にしたものを調べ、スタンドアロン ブローカーのメモリ量を増やし、networkConector エントリの数を増やしました。

これらすべての変更により状況は改善されましたが、それでもメッセージの転送は生成されるよりも遅くなりました。最終的な修正は、私のディスクが高性能ディスクではなく、通信帯域幅が 100% だったことです。

強力な RAID を取得するのを待っている間、スタンドアロン ブローカーを非永続的にすると、数分でキューが枯渇するのがわかりました。それ以来、彼らは実質的に横ばいでした。

于 2012-10-16T22:49:34.773 に答える