RabbitMQ:erl.exe占用高CPU用量

时间:2015-08-06 06:28:28

标签: c# performance rabbitmq erl

我已经在我的应用程序中实现了rabbitmq并且它在Windows Server 2008服务器上运行,问题是erl.exe占用高CPU用量,有时甚至达到40-45%CPU使用率,即使在理想情况下(不处理时)任何队列)至少需要4-15%的CPU使用率。

使用高CPU使用率的原因是什么?是否有任何设置或任何其他我需要做的事情。

1 个答案:

答案 0 :(得分:2)

你说即使不处理队列,它仍然是4-15%,但你的应用程序是否正在运行?如果您之前没有,请尝试在没有应用程序使用Rabbit的情况下监视erl。

我想到的一件事是您可能在循环中使用QueingBasicConsumer,这可能会导致CPU使用率。如果您正在使用QueingBasicConsumer并且它是导致命中的原因,请尝试用EventingBasicConsumer替换它(这样您不会忙着等待)并查看您是否有改进。

另外,您的应用程序如何使用Rabbit?根据{{​​3}},每个IConnection都由后台线程备份,如果你在应用程序中创建了一堆连接,那么这可能是减速的另一个原因。