Когда конкретно начинается/останавливается время отклика nginx $upstream


Кто-нибудь знает, когда конкретно начинаются и заканчиваются часы для $upstream_response_time?

Документация кажется немного расплывчатой:

Сохраняет время, затраченное на получение ответа от вышестоящего сервера; время хранится в секундах с разрешением миллисекунды. Времена нескольких ответов разделяются запятыми и двоеточиями, как адреса в переменной $upstream_addr.

Существует также Значение $upstream_header_time, которое добавляет еще больше путаницы.
  1. Я предполагаю $upstream_connect_time останавливается, как только соединение установлено, но до того, как будет принято вверх по течению?

  2. Что после этого включает $upstream_response_time?

    • Время, потраченное на ожидание принятия апстримом?
    • Время, затраченное на отправку запроса?
    • Время, затраченное на отправку заголовка ответа?
1 2

1 ответ:

Более конкретное определение содержится в их блоге .

$request_time – Полное время запроса, начиная с момента, когда NGINX читает первый запрос. байт от клиента и заканчивается, когда NGINX отправляет последний байт тело ответа

$upstream_connect_time - Время, затраченное на создание соединение с вышестоящим сервером

$upstream_header_time - Время между установлением соединения с вышестоящим сервером и получением то первый байт заголовка ответа

$upstream_response_time - Время между установлением соединения с вышестоящим сервером и получением последний байт тела ответа

Итак

  • $upstream_header_time входит в $upstream_response_time.
  • Время, затраченное на подключение к апстриму, не входит в оба из них.
  • Время, затраченное на отправку ответа клиенту, не входит в оба из них.