Python 如何配置django频道?
我的技术堆栈是Redis作为通道后端,Postgresql作为数据库,Daphne作为ASGI服务器,Nginx作为整个应用程序的前端。一切都是使用Docker Swarm部署的,外部只有Redis和数据库。我有大约20个虚拟主机,20个接口服务器,40个http工作线程和20个websocket工作线程。使用入口覆盖Docker网络完成负载平衡 问题是,有时在性能方面会发生非常奇怪的事情。大多数请求的处理时间不超过400毫秒,但有时请求可能需要2-3秒,即使在非常小的负载情况下也是如此。使用Django调试工具栏或基于中间件的探查器评测Worker时,什么也看不到(计时0.01秒左右)Python 如何配置django频道?,python,django,profiling,django-channels,daphne,Python,Django,Profiling,Django Channels,Daphne,我的技术堆栈是Redis作为通道后端,Postgresql作为数据库,Daphne作为ASGI服务器,Nginx作为整个应用程序的前端。一切都是使用Docker Swarm部署的,外部只有Redis和数据库。我有大约20个虚拟主机,20个接口服务器,40个http工作线程和20个websocket工作线程。使用入口覆盖Docker网络完成负载平衡 问题是,有时在性能方面会发生非常奇怪的事情。大多数请求的处理时间不超过400毫秒,但有时请求可能需要2-3秒,即使在非常小的负载情况下也是如此。使用D
我的问题是:有什么好方法可以用django通道分析整个请求路径吗?我想知道每个阶段需要多少时间,即Daphne何时处理请求,worker何时开始处理,何时完成,interface server何时向客户端发送响应。目前,我不知道如何解决这个问题 为什么不使用Kibana或New Relic之类的监控工具,并监控为什么需要这么长时间才能得到一个小负载响应。它可以告诉您在Python、PostgreSQL和Memcache(Redis)上花费的时间。Django silk可能有助于您分析请求和数据库搜索时间,原因如下:
settings.py
上添加配置即可轻松设置李>
如果有人好奇,这篇文章的作者似乎去问谷歌集团:是的,这是我的问题。我发现了一些有用的方法,其中之一就是redis监控。我很快会在这里发布详细的描述。期待听到对您有用的内容。据我所知,newrelic目前还不支持asgi,虽然这可能会回答这个问题,但提供有关如何和/或为什么解决问题的其他上下文将提高答案的长期价值。