我在docker容器中运行了一个Django应用程序。但由于某种原因,我的申请变得非常缓慢。我想对我的应用程序使用分析。
为此我用Apache& amp; nginx logs.Then想要获得更多关于此的图片。如何获得docker主机收到请求的确切时间&准确时间docker container收到请求。
任何帮助都会很棒!!!
答案 0 :(得分:0)
我过去看过这项工作的方法是在反向代理请求时添加一个带有当前时间戳的自定义标头,包括每个请求的毫秒数。在你的情况下,这将在你的nginx配置上完成。像这样的东西
proxy_set_header X-Request-Start "t=${msec}";
然后在Apache处理请求之前,你可以做同样的事情。
对于Apache
RequestHeader set X-Request-Start-2 "%t"
您甚至可以记录响应何时完成并有3个时间点进行比较。
然后在您的日志,django或您的指标收集系统中,您可以比较各点之间的时间,以了解从nginx到Apache的时间,以及请求队列时间。它应该非常快,但如果Apache未正确调整,则可能在等待其他人处理时请求排队。
您可以使用新的遗物,他可以查看请求的所有详细信息,并以漂亮的图表显示结果。他们甚至有一个免费版本,可以满足您的需求,并且支持docker。