【发布时间】:2014-03-12 23:34:24
【问题描述】:
我正在对我的网络应用程序进行一些指标分析,该应用程序广泛使用了 celery。我有一个度量标准,它测量从 post_save 信号到 celery 任务(它本身调用许多不同的 celery 任务)到该任务结束的完整行程。我在 5 秒内向服务器发送了多达 100 个请求。
我发现有趣的是,当我用数百个请求访问服务器时(这需要数千个 celery 工作进程排队),从保存后到主要 celery 任务结束所花费的时间显着增加,即使我从不进行任何额外的数据库调用,并且任何 celery 任务都不应该阻塞主要任务。
当我很快发出一堆请求时,队列中有这么多 celery 任务会减慢我的 post_save 函数和主要 celery 任务中的逻辑吗?也就是说,与将 celery 主任务创建的子任务放到拥挤的队列中相关的处理是否会对到达主 celery 任务结束所需的时间产生重大影响?
【问题讨论】:
-
您为 Celery 使用的代理是什么?
标签: python django multithreading rabbitmq celery