【问题标题】:Celery slowing down django [closed]芹菜减慢 django [关闭]
【发布时间】:2011-12-05 00:51:47
【问题描述】:

我有一个使用 SQLite 的 django 1.3 站点。它运作良好。

我最近安装了 django-celery 和 django-kombu。我正在使用 supervisord 通过以下命令启动 celery dameon:

python manage.py celeryd -v 2 -B -s celery -E

一切正常,除了启动 celeryd 会使系统陷入困境。当我使用 top 时,我看到我正在创建一个长时间运行的 python 进程,它消耗了我共享服务器上 5% 到 10% 的 cpu。

在测试期间,我没有安排或运行 celery 任务。

【问题讨论】:

  • 这个网站确实需要一种方法来将关闭标记为滥用。这不可能真诚地关闭。好悲伤。

标签: django celery supervisord kombu


【解决方案1】:

根据我的经验,django-kombu 占用了大量 CPU 时间。使用其他代理,例如 RabbitMQ 或 Redis。

【讨论】:

  • 关门了?你确定吗?我的问题的每一部分都与软件开发直接相关。老实说,我看不出我的问题与此页面右侧的相关问题之间的区别。
  • 对不起,我不是结束你问题的人。我真的不知道为什么casperOne 这样做?这对我来说似乎是一个有效的问题。不幸的是,您似乎无法重新打开它:meta.stackexchange.com/questions/36415/…
  • 但我可以详细说明我的答案。当我尝试 django-kombu 时,我得到了和你一样的结果。我问为什么在芹菜 IRC 上,但我想我没有得到任何答案。我认为问题的一部分是kombu需要经常轮询数据库(但我很确定这不是唯一的原因)。如果您可以在共享主机上安装/使用 RabbitMQ/Redis,那就去吧。它真的很简单而且效率更高。如果您的需求很简单,我会选择 Redis,它的设置/管理更简单,您可以将它用于 Django 缓存等。
  • 谢谢艾蒂安。你的回答很有帮助。我注意到大多数对 Celery 赞不绝口的用户都在使用 RabbitMQ。这绝对值得一试。在我解决这个问题之前,我的网站实际上已经死了。在我可以实施并测试它之前,我一直在评论或接受您的答案。我大约需要一周的时间才能做到这一点。我会报告我的发现。
  • 更新 - 我切换到 Redis。现在一切都运转良好。虽然如果我运行“top”命令,它仍然说我的进程正在消耗大量的 cpu。我在 webfaction 的共享服务器上。我严重怀疑我的进程是否被允许使用与报告的一样多的 CPU。也许,使用所有 cpu 的进程具有如此低的优先级,不会干扰其他任何人或我的 django 进程?
猜你喜欢
  • 2012-05-01
  • 2021-11-29
  • 1970-01-01
  • 1970-01-01
  • 2022-10-25
  • 2018-10-18
  • 2012-08-26
  • 2015-09-25
  • 2018-01-27
相关资源
最近更新 更多