Why is request_time much larger than upstream_response_time in nginx access.log?
A high request_time
may be, among others, due to a client with a slow connection, for which you can't do much about. Thus, a high request_time
does not necessarily represent the performance of your server and/or application.
You really should not spend too much time on request_time
when profiling but instead measure things like the application's response time (ie. upstream_response_time
).
That said, there are some things which you are able to do and may affect the request_time
. Some of them are the following:
- Move your server on a high-speed network
- Move your server near the client
- Disable the Nagle's algorithm
- Tune the server's TCP stack (see this article). However these won't necessarily make a big difference since the kernel does a good job of tuning them for you.