首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何分析django频道?

如何分析django频道?
EN

Stack Overflow用户
提问于 2016-12-26 20:49:57
回答 2查看 1.5K关注 0票数 18

我的技术堆栈是Redis作为通道后端,Postgresql作为数据库,Daphne作为ASGI服务器,Nginx作为整个应用程序的前端。所有的东西都是使用Docker Swarm部署的,只有Redis和Database在外面。我有大约20个虚拟主机,有20个接口服务器,40个http工作进程和20个websocket工作进程。负载均衡是使用Ingress Docker网络完成的。

问题是,有时性能方面会发生非常奇怪的事情。大多数请求在400ms内得到处理,但有时请求可能需要2-3秒,即使在非常小的负载期间。使用Django Debug Toolbar或基于中间件的分析器的分析器没有显示任何内容(计时0.01秒左右)

我的问题是:有没有什么好方法可以用django-channel来分析整个请求路径?我想知道每个阶段需要多少时间,例如,当请求被Daphne处理时,当工人开始处理时,当它完成时,当接口服务器向客户端发送响应时。目前,我不知道如何解决这个问题。

EN

回答 2

Stack Overflow用户

发布于 2018-10-17 21:58:43

Django-silk可能会在分析请求和数据库搜索时间方面对您有所帮助,原因如下:

只需在项目的settings.py上添加配置,就可以很容易地进行设置。可以定制

  1. :通过使用提供的装饰器,您可以分析函数或方法并获得它们的运行性能。
  2. 动态设置:您可以选择为方法动态分配silk,也可以在运行时设置您想要的分析率。

正如文档所述:

Django Silk是

框架的实时分析和检查工具。Silk拦截并存储超文本传输协议请求和数据库查询,然后将它们呈现在用户界面中,以便进一步检查

注释:silk可能会使您的数据库搜索时间加倍,因此如果您在生产环境中设置它,它可能会带来一些问题。但是,丝绸的增加将在仪表板上单独显示。

https://github.com/jazzband/django-silk

票数 1
EN

Stack Overflow用户

发布于 2017-10-16 22:49:03

为什么不使用像Kibana或New Relic这样的监控工具,监控小负载响应花费这么长时间的原因和原因。它可以告诉你花在Python,PostgreSQL和Memcache (Redis)上的时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41331567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档