16

アプリケーションに rabbitmq を実装しましたが、それは Windows Server 2008 サーバー上で実行されています。問題は、理想的なケース (キューを処理していない場合) であっても、erl.exe が 40 ~ 45% の CPU 使用率に達することがあるように、CPU 使用率が高くなることです。少なくとも 4 ~ 15% の CPU 使用率が必要です。

CPU 使用率が高くなる理由は何ですか? 設定や他に必要なものはありますか?

4

1 に答える 1

2

キューを処理していないときでも、まだ 4 ~ 15% だとおっしゃっていますが、アプリケーションは実行されていますか? 以前に行ったことがない場合は、Rabbit を使用しているアプリケーションがないときに erl を監視してみてください。

頭に浮かぶことの 1 つはQueingBasicConsumer、ループ内で を使用している可能性があり、それが CPU 使用率に寄与している可能性があるということです。を使用していて、それがヒットの原因である場合は、 (忙しい待機をしないように) でQueingBasicConsumer置き換えてみて、改善があるかどうかを確認してください。EventingBasicConsumer

また、Rabbit を使用したアプリケーションはどのようになっていますか? ドキュメントによると、すべての IConnection はバックグラウンド スレッドによってバックアップされており、アプリケーションで多数の接続を作成している場合は、速度低下の別の理由になる可能性があります。

于 2016-08-23T21:24:59.583 に答える