Нулевой upstream_response_time

Igor Sysoev is at rambler-co.ru
Mon Nov 14 19:08:30 MSK 2005


On Sun, 13 Nov 2005, Alexey Polyakov wrote:

> Наблюдаю у себя такую странность:
> сайт индексируется htdig'ом, который валит подряд много запросов к
> страницам, бекенд - Апач/PHP.
> Для многих из них в лог пишется 0.000 в качестве значения
> upstream_response_time.
> Реально же, при тесте например с помощью ab, processing time на таких
> страницах никогда не меньше 10-12мс.
> ОС - FreeBSD 5.4, nginx - 0.3.7.
> С чем подобное поведение может быть связано?

$upstream_response_time считается так:

1) kevent() возвращает новые события, nginx запоминает время (1) в ms.
2) nginx принимает соединение, читает запрос, определяет, что запрос
    уходит к прокси, запоминает текущее время (1).
3) nginx соединяется с бэкендом, если это localhost, то соединение
    устанавливается сразу же. Если нет, то факт соединения возвращается
    через kevent().
4) nginx передаёт запрос и ждёт ответ.
5) наличие ответа возвращается через kevent(), nginx опять запоминает
    время (2).
6) если овет передан полностью, то $upstream_response_time равен (2)-(1).

Как видно, nginx не пытается измерить время точно.


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list