2

我是一名 Django 开发人员,我最近使用 Channels 2 和 Redis 构建了一个消息传递应用程序。对于每个对话,我都会创建一个组,并在每次重新连接时将所有参与者添加到组中。

我也在使用工人与达芙妮进行生产频道

问题是,在为一个用户创建 10 个组后,由于 daphne 使用了近 100% 的 CPU 使用率,消息传递变得非常缓慢,导致所有站点运行缓慢。

我附上了 CPU 使用率的截图。

数据输出截图

我真的很感谢你能建议减少 CPU 使用率

问候, 萨杜拉·纳伊姆

4

2 回答 2

0

我有同样的问题。我看到 Uvicorn 和 Gunicorn 的表现最好。

gunicorn -b 0.0.0.0 -p 8000 mysite.asgi:application -k uvicorn.workers.UvicornWorker --workers 4

在这种情况下,我预计有 4 个工作人员,它使用服务器的 4 个核心,并分配 CPU 的使用。

在此处输入图像描述

于 2021-10-22T14:31:22.037 回答
0

就我而言,tasks.py(celery) 中的一些错误使 daphne cpu 100% 使用。

可以在 asgi 日志文件中检查错误日志。

于 2020-03-17T08:03:40.623 回答