我已经在我的应用程序中实现了rabbitmq,它运行在windows server 2008服务器上,问题是erl.exe占用了很高的CPU使用率,有时它会达到40-45%的CPU使用率,即使在理想的情况下(当不处理任何队列时),它也会占用至少4-15%的CPU使用率。
CPU使用率高的原因可能是什么?是否有任何设置或任何其他我需要做的事情。
发布于 2016-08-24 05:25:00
你说即使不处理队列,它仍然是4-15%,但是你的应用程序正在运行吗?如果您以前没有使用过,请尝试在没有应用程序使用Rabbit的情况下监控erl。
我想到的一件事是,您可能会在循环中使用QueingBasicConsumer
,这可能会增加CPU的使用率。如果您正在使用QueingBasicConsumer
,并且它是导致命中的原因,请尝试将其替换为EventingBasicConsumer
(这样您就不会忙于等待),看看是否有改进。
另外,你的应用程序是如何使用Rabbit的?根据documentation的说法,每个IConnection都是由一个后台线程备份的,如果你在你的应用程序中创建了一堆连接,这可能是速度变慢的另一个原因。
https://stackoverflow.com/questions/31848288
复制相似问题