【发布时间】:2020-06-23 05:06:06
【问题描述】:
我正在使用我的 Django 应用程序进行负载测试,该应用程序使用 Django 通道和 redis 通道层(django、graphene-django、channels、graphene-subscriptions、channels-redis)提供 GraphQL 订阅。作为 ASGI 服务器,我现在使用daphne。我使用nginx 作为代理。后端通过 GraphQL 订阅发布消息的周期取决于后端通过 MQTT 接收的消息的周期。我正在增加外部数据提供者向 MQTT 代理发布消息的周期,这意味着后端必须处理这些消息并通过 GraphQL 订阅发布消息的周期。我面临以下错误:
2020-03-11 08:33:58,464 ERROR 2 of 12 channels over capacity in group subscriptions
这个问题似乎是由channels_redis 引起的。我可以扩展基础架构以解决此问题吗?
【问题讨论】:
-
从那个问题看来,您可以调整配置中的默认数字。您是否尝试过这样做?
-
可能我必须在
CHANNELS_LAYERS配置中调整和优化capacity和expire。尽管有该配置选项,但后端可能无法足够快地获取和处理排队的消息。意味着我必须提高后端的性能。
标签: django nginx django-channels daphne