高记忆力为芹菜节点提供唯一节点名称时的网络使用情况

时间:2016-06-20 11:23:35

标签: python rabbitmq celery

我有一个包含三个主机的生产环境,每个主机运行4个芹菜进程绑定到不同的队列。我正在使用rabbitmq作为经纪人和最新的芹菜版本(3.1.23)。

正常系统负载发布和消耗约150条消息/秒。 rabbitmq网络吞吐量约为30 Mb / sec

我没有为芹菜节点设置唯一的名称,并且收到了警告,例如:

A node named celery@export_000 is already using this process mailbox!

通过将%h添加到hostname变量为每个芹菜进程提供唯一名称后,警告已解决,但由于内存和网络使用率非常高,系统无法使用。

芹菜进程的内存使用量达到峰值(4GB - > 30GB),即使对于没有执行任何任务的进程,机器上的可用内容也是如此。 尽管没有异常的队列利用率,但兔子主机上的网络峰值达到0.5 Gb /秒。如果有的话,芹菜消费者不会消费任何消息。

消费者似乎忙于互相同步(根据日志)并偶尔执行一些任务。

恢复到非唯一节点名称立即解决了问题。

相关芹菜ticket

任何可能导致这种情况的想法? 芹菜节点同步过程能以某种方式与它相关吗?

0 个答案:

没有答案