如何计算 nginx 中的完整请求时间?

如何计算 nginx 中的完整请求时间?

我在通过 nginx 上的 ssl 和 uwsgi 上游调试一些不合理的缓慢的 POST 请求时遇到了麻烦。

我成功记录了 $request_time、$upstream_header_time、$upstream_connect_time 和 $upstream_response 时间,如下所示:

log_format upstream_log '$remote_addr - $remote_user [$time_local] '                                                      
                             '"$request" $status $body_bytes_sent '                                                               
                             '"$http_referer" "$http_user_agent"'                                                                 
                             'rt=$request_time uct="$upstream_connect_time" uht="$upstream_header_time" urt="$upstream_response_time"';                         

日志显示$request_time通常为2.059秒,三个上游变量总计少于0.05秒。

这排除了 uwsgi 作为瓶颈的可能性。

客户端使用 Google Dev Tools 显示 POST 到达服务器的速度相当快(0.7 秒),然后需要等待 2 秒多一点的时间。因此存在服务器问题。

SSL 上的 GET 请求速度很快,所以可能不是 SSL(虽然记录握手时间并确认会很好,但我不知道是否有这个参数...你知道吗?)。

所以我的问题是,我该如何解释剩下的 2.00 秒,以便我可以开始弄清楚事情的底细?

是否有其他日志参数可以激活并允许我这样做?

相关内容