Re: отражение в access-логе факта, был ответ взят из кеша или нет
Andrew Kopeyko
kaa на zvuki.ru
Пн Дек 27 11:36:37 MSK 2010
On Mon, 27 Dec 2010, Илья Шипицин wrote:
> Добрый день!
Добрый день, Илья!
> не могу найти переменную, чтобы добавить в access.log поле, был данный
> запрос взят из кеша или нет. подскажите ?
Вам надо писать в лог переменную $upstream_response_time.
Я предпочитаю писать её вместе с $request_time в виде отдельного токена (для
удобства последующего анализа лога) :
' "$request_time[$upstream_response_time]" '
В случае, если ответ был отдан из кеша, запишется
"0.021[-]"
> а если апстримов много, как будет работать ?
И это тоже подробно рассказано в документации. Процитирую для вашего
удобства:
Если при обработке запроса были сделаны обращения к нескольким серверам, то
их адреса разделяются запятой, например, "192.168.1.1:80, 192.168.1.2:80,
unix:/tmp/sock". Если произошёл внутренний редирект от одной группы серверов
на другую с помощью "X-Accel-Redirect" или error_page, то эти группы
серверов разделяются двоеточием, например, "192.168.1.1:80, 192.168.1.2:80,
unix:/tmp/sock : 192.168.10.1:80, 192.168.10.2:80".
см. http://sysoev.ru/nginx/docs/http/ngx_http_upstream.html#variables
--
Best regards,
Andrew Kopeyko <kaa at zvuki.ru>
Подробная информация о списке рассылки nginx-ru