Hello!
On Wed, May 04, 2016 at 11:58:17AM -0400, malaf wrote:
> Добрый день.
>
> Есть такая конфигурация:
> - фронтенд c nginx
> - бэкенды с php
> - для динамических запросов настроено php fastcgi между nginx и php-fpm
> через tcp порт с кешированием ответов
> - log_format выглядит примерно так- '$remote_addr # $upstream_addr #
> $request # $status # $uri # $upstream_response_time # $upstream_cache_status
> # $request_time
> - проект высоконагруженный
>
> Столкнулся с такой проблемой, судя по логам, то часть запросов имеет
> существенно большее значение $request_time чем $upstream_response_time,
> может быть больше как на 1 секунду так и 2, 5 и даже более 30. Особенно это
> заметно на страницах из кеша, у которых upstream_cache_status = HIT,
> upstream_response_time = 0 и c большим request_time, хотя для подавляющего
> большинства этот параметр имеет значение 0-0.01s
>
> Влияние "медленных клиентов" на значение $request_time вроде отсёк, проверив
> лог после обращения к странице в кеше с помощью curl --limit-rate 20K
> example.com > /dev/null, время ответа было 4 секунды, в лог request_time
> записался со значение 0.
Использование "curl --limit-rate" для эмуляции медленных клиентов -
более или менее работает только в том случае, если размер ответа
превышает суммарный размер всех буферов в цепочке. Если в
$request_time записалось значение 0 - это хороший признак, что
ответ полностью влез в буфера, и с точки зрения nginx'а клиент -
быстрее не бывает.
--
Maxim Dounin
http://nginx.org/
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru