【发布时间】:2014-02-02 21:22:01
【问题描述】:
我们编写了一个应用程序,通过电子邮件向我们客户的超过 200,000 名客户发送账单信息。目前,我们使用批处理程序需要 2 天多的时间才能按顺序发送所有电子邮件。
我们已将整个程序转移到 Celery 上,我们已经看到常规 2 名工人的负载有了显着改善。
有人对 Celery 进行基准测试吗?文档说工人的数量必须等于性能的 CPU 数量。假设我们将服务器虚拟化并在物理 8 核服务器上设置 32 个 vCPU,我们可以在 32 个线程上同时运行它吗?
邮件通过不同的邮件服务器发送,服务器只运行 Rabbit MQ、Celery 和应用程序。请告知正确数量的工作线程和线程以及 vcpus,以避免不必要的排队和延迟。
【问题讨论】:
标签: python django multithreading rabbitmq celery