Home  >  Q&A  >  body text

Regarding the problem that nginx upstream_response_time exceeds tomcat connectionTimeout

Looking at the nginx log, I found that sometimes $upstream_response_time is particularly long, such as 179.839 seconds, but the corresponding timeout of the backend tomcat configuration is 20 seconds. Then why is there such a long upstream_response_time?

$upstream_response_time

keeps time spent on receiving the response from the upstream server; the time is kept in seconds with millisecond resolution.

tomcat configuration

<Connector port="XXX"
           address="XXX"
                   protocol="org.apache.coyote.http11.Http11NioProtocol"
           connectionTimeout="20000" # 超时时间20秒
           redirectPort="8443"
           maxThreads="500"
           minSpareThreads="20"
           acceptCount="1024000"
           disableUploadTimeout="true"
           enableLookups="false"
           URIEncoding="UTF-8" />

connectionTimeout

The number of milliseconds this Connector will wait, after accepting a connection, for the request URI line to be presented. Use a value of -1 to indicate no (i.e. infinite) timeout.

PHP中文网PHP中文网2713 days ago641

reply all(1)I'll reply

  • 我想大声告诉你

    我想大声告诉你2017-05-16 17:14:23

    nginx log shows milliseconds. Did you get the time unit wrong?

    reply
    0
  • Cancelreply