我正在检查Web应用程序的性能和响应时间以及参与其中的各方。我有一个关于nginx将API rest请求记录到web应用程序(React-Django)后端的问题。
Nginx能够在从后端服务请求时将$request_time记录到/var/log/nginx/access. log。问题是:它是否包含Django后端响应请求的时间(以秒为单位)?我在阅读Nginx log_format文档时并不清楚这一点。
在我的测试中,django在30毫秒内响应一个请求,Nginx在33毫秒内记录该请求。这33毫秒包含了django需要的30毫秒吗?还是它们是分开的?或者他们只是指Nginx可以做的处理(即管理队列中的请求(如果有大量服务需求)?
先谢谢你了!
1条答案
按热度按时间6qftjkof1#
是的,据我所知,
$request_time
跨越了nginx开始处理请求到响应完全发送到客户端之间的时间。所以它包含了nginx接收传入请求的字节,解释它,将其代理给django,django处理它并给出响应,将响应发送回nginx和nginx将响应发送回客户端所需的所有时间。
来自nginx日志格式文档:
请求处理时间以秒为单位,分辨率为毫秒;从客户端读取第一个字节到将最后一个字节发送到客户端后写入日志之间经过的时间