Я пытаюсь отладить некоторую задержку, возникающую при полете между службами, используя Nginx в качестве балансировщика нагрузки перед нашим флотом.
В журнале доступа Nginx я вижу следующее:
status: 499
req_time: 0.001
upstream_connect_time: 0.000
upstream_response_time: 0.000
Ожидается получение статуса 499, учитывая журналы, которые мы видим в других сервисах, где служба, вызывающая парк балансировки нагрузки nginx, истекает. В вызываемой службе мы все еще видим, как этот запрос достигает одного из хостов, и на его выполнение ушло более 100 мс.
Мой вопрос: когда это сообщение записывается в access_log? Записывается ли это, когда Nginx видит запрос, видит, что клиентское соединение истекло и было закрыто, и сразу же записано с заданной продолжительностью (как подразумевается в upstream_response_time = 0ms? Или это всегда записывается после полного возврата ответа, даже если nginx знает, что вызывающий его клиент закрыл соединение?