Heroku芹菜超过连接限制6(当代理池限制>;没有一个

Heroku芹菜超过连接限制6(当代理池限制>;没有一个,heroku,celery,django-celery,cloudamqp,Heroku,Celery,Django Celery,Cloudamqp,我在Heroku上使用Django/芹菜和CloudAMQP插件 在我的设置文件中,如果我将BROKER\u POOL\u LIMIT设置为None以外的任何值,我很快就会超过CloudAMQP连接限制6 我想知道为什么我会有比我在BROKER\u POOL\u LIMIT中指定的更多的连接,以及如何将BROKER\u POOL\u LIMIT设置为大于None的值而最终不超过连接限制。如果有用的话,这是我的配置文件中指定的工作进程类型 worker python manage.py芹菜work

我在Heroku上使用Django/芹菜和CloudAMQP插件

在我的设置文件中,如果我将
BROKER\u POOL\u LIMIT
设置为
None
以外的任何值,我很快就会超过CloudAMQP连接限制6

我想知道为什么我会有比我在
BROKER\u POOL\u LIMIT
中指定的更多的连接,以及如何将
BROKER\u POOL\u LIMIT
设置为大于
None
的值而最终不超过连接限制。如果有用的话,这是我的配置文件中指定的工作进程类型


worker python manage.py芹菜worker-B--loglevel=info

您正在生成多少gunicorn web worker?每个gunicorn web worker(-w)将生成一个连接池,因此公式是:
BROKER\u pool\u LIMIT*(gunicorn workers*web dynos+worker dynos)
。我在2个web Dyno上运行8个web workers。我并不确定这是最佳配置。我还有一个worker dyno,用于使用芹菜运行后台任务。那么你的意思是,在这个设置中,如果我将BROKER_POOL_LIMIT设置为None以外的任何值,我将超过我使用Tough Tiger CloudAMQP add-on获得的6个并发连接限制?是的,正确,但是如果你将每个dyno减少到2个web workers,你应该可以,1*(2*2+1)=5@CarlH奥尔伯格的公式到底是什么?你的意思是写
BROKER\u POOL\u LIMIT=
而不是
*
吗?另外,公式的最后一部分不应该是
worker dynos*concurrency
?您是否愿意发布一个更详细的评论版本作为对这个问题的回答?