我想获得与芹菜和Django的RabbitMQ去EC2实例做一些相当基本的后台处理。我在一个大的EC2实例上运行rabbitmq-server 2.5.0。在EC2上的RabbitMQ消耗CPU的CPU
我按照说明here(位于页面最底部)下载并安装了测试客户端。我一直只是让测试脚本去,我得到预期的输出:
recving rate: 2350 msg/s, min/avg/max latency: 588078478/588352905/588588968 microseconds
recving rate: 1844 msg/s, min/avg/max latency: 588589350/588845737/589195341 microseconds
recving rate: 1562 msg/s, min/avg/max latency: 589182735/589571192/589959071 microseconds
recving rate: 2080 msg/s, min/avg/max latency: 589959557/590284302/590679611 microseconds
的问题是,它是消耗CPU的数量惊人:
PID USER PR NI VIRT RES SHR小号%CPU%MEM TIME + COMMAND
668的RabbitMQ 20 0618米506米2340 S166中6.8 2:31.53 beam.smp
1301的ubuntu 20 02142米90米9128 S17中1.2 0:24.75的java
我之前正在测试一个微型实例,它完全消耗了实例上的所有资源。
这是预期的吗?难道我做错了什么?
谢谢。
编辑:
这个岗位的真正原因是celerybeat似乎运行好一段时间,然后突然消耗掉系统的所有资源。我安装了rabbitmq management tools,并一直在研究如何从芹菜和rabbitmq测试套件创建队列。在我看来,芹菜使这些队列孤立,他们不会离开。
这是测试套件生成的队列。创建一个队列,所有的邮件会进入它,出来:
Celerybeat为每次创建一个新的队列运行任务:
它集自动删除参数设置为true,但我不完全确定这些队列何时会被删除。他们似乎只是慢慢建立起来,吃资源。
有没有人有想法?
谢谢。
默认情况下,下一个Celery版本(2.3.0)不会有后端结果。让它成为更有意识的选择,这样的陷阱就可以避免。 – asksol 2011-06-16 10:54:04
请更新链接,页面不存在 – lfender6445 2014-10-01 18:07:28