牛骨文教育服务平台(让学习变的简单)
博文笔记

[RabbitMQ] beam.smp high cpu load

创建时间:2016-10-10 投稿人: 浏览次数:4072

A customer reported a function is not working in our django app. That app runs using celery and RabbitMQ. I found out that the celery worker cannot receive tasks from RabbitMQ. Then I checked my RabbitMQ cluster, both servers in the cluster are having a very high cpu load.

I googled and found this article. It suggests the high cpu load may be caused by unused queues not being freed.

So I went though the official RabbitMQ doc and found the Queue TTL policy might be useful. TTL policy will delete unused queue after the expire time you specified.

You can set the policy via

rabbitmqctl set_policy expiry ".*" "{"expires":1800000}" --apply-to queues

This example will expire any queue in the default / vhost after it has been unused for 30 minutes.

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。