Как request_time может быть меньше, чем upstream_response_time в nginx? - PullRequest
0 голосов
/ 30 декабря 2018

Я понимаю, как nginx request_time может быть больше, чем upstream_response_time , это просто означает, что сетевое соединение между nginx и клиентом было медленным.

Что я не понимаю, так это то, как request_time может быть меньше?

Я проанализировал журнал nginx, где nginx находится перед API.Было около 2,6 миллиона строк, поэтому я считаю, что это хороший пример (анализировались только запросы API, без статических файлов).

Коэффициенты были рассчитаны следующим образом: ratio = request_time / upstream_response_time

Среднее значениесоотношение составляет 1,04, таким образом, в среднем request_time немного больше, чем upstream_response_time, что звучит разумно.

Я сделал гистограмму для визуализации этого.Чего я не понимаю, так это левой части гистограммы, где значения <1.0. </p>

histogram

1 Ответ

0 голосов
/ 05 июня 2019

$ upstream_response_time рассчитывается как clock_gettime(CLOCK_MONOTONIC_COARSE), и по умолчанию оно может быть в прошлом в течение 4 миллисекунд, напротив, $ request_time вычисляется как gettimeofday().Поэтому в конечном итоге upstream_response_time может быть больше, чем response_time.

На основе ветки форума nginx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...