Warum ist request_time in nginx access.log viel größer als upstream_response_time?

Ich versuche, die Leistung einer Web-App zu verbessern. Beim Profilieren der App selbst stellte ich fest, dass die Reaktionszeit durchaus akzeptabel ist (100 ms bis 200 ms). Wenn ich die App jedoch mit ApacheBench teste, übersteigt die Reaktionszeit manchmal 1 Sekunde. Als ich mir die Protokolle genauer ansah, fand ich eine große Diskrepanz zwischenrequest_time undupstream_response_time gelegentlich

"GET /wsq/p/12 HTTP/1.0" 200 114081 "-" "ApacheBench/2.3" 0.940 0.286
"GET /wsq/p/31 HTTP/1.0" 200 114081 "-" "ApacheBench/2.3" 0.200 0.086

Dasupstream_response_time kommt meiner Profilerstellung in der Web-App ziemlich nahe, aberrequest_time liegt bei der ersten Anforderung nahe bei einer Sekunde.

Was könnte diese Diskrepanz verursachen?

Ich versteherequest_time wird vom ersten empfangenen Byte bis zum letzten gesendeten Antwortbyte aufgezeichnet. Dies kann durch den Netzwerkzustand und das Client-Problem beeinflusst werden. Ich frage mich, was ich tun soll, um den Durchschnitt zu senkenrequest_time so viel wie möglich

Antworten auf die Frage(2)

Ihre Antwort auf die Frage