То есть (2)-(1) - это время, через которое бекенд начал отвечать?Я думал, что
это время, которое бекенд затратил на передачу целиком ответа.
On 11/14/05, Igor Sysoev <is@xxxxxxxxxxxxx> wrote:> 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>>
--Alexey Polyakov