Re: upstream fastcgi keepalive. Таинственные 40мс

fox red-fox0 на ya.ru
Пт Сен 4 12:29:06 UTC 2020


Пинг до сервера какой? Протокол http 1.1?


04.09.2020 18:22, Panichev Oleg пишет:
> В данном случае, с пустым конфигом и php-fpm, зависимости либо нет, либо
> она незаметна:
> 
> 
> keepalive 1:
> 
> Percentage of the requests served within a certain time (ms)
>   50%      3
>   66%      3
>   75%     41
>   80%     43
>   90%     44
>   95%     44
>   98%     44
>   99%     44
>  100%     55 (longest request)
> 
> keepalive 100:
> 
>   50%      3
>   66%      3
>   75%      4
>   80%     42
>   90%     43
>   95%     44
>   98%     44
>   99%     45
> 
>  100%     47 (longest request)
> 
> 
> 
> On 9/4/20 2:07 PM, Сергей Олегович wrote:
>> Интересно, а есть ли зависимость между количеством keepalive и временем?
>>
>> пт, 4 сент. 2020 г. в 13:33, Panichev Oleg <panichev на rutarget.ru
>> <mailto:panichev на rutarget.ru>>:
>>
>>     Добрый день.
>>
>>
>>     При включении keepalive в секции upstream для fastcgi серверов
>>     upstream_response_time увеличивается на 40мс при нагрузке. Это
>>     достаточно четкий шаг, реальный ответ бэкендову нас - единицы
>>     миллисекунд, но nginx показывает на 40мс больше.  Apache benchmark
>>     tool
>>     показывает тоже самое.
>>
>>     С чем связана именно такая задержка? Изменения таймаутов, количества
>>     реквестов на эти 40мс не влияют, в логе всегда либо единицы
>>     миллисекунд
>>     (время ответа для простых соединений, без включения keepalive), либо
>>     сразу 40мс+время простого запроса. Есть ли способ измерять реальное
>>     время ответа от бэкенда при использовании keepalive?
>>
>>     Спасибо, ниже конфиги и результаты ab.
>>
>>
>>     ===========================================================
>>
>>     Пробовал на свежем нджинксе и стартовой странице php-fpm:
>>
>>     Проверка с keepalive:
>>
>>          upstream sync {
>>             server localhost:9000;
>>             keepalive 8;
>>          }
>>
>>     ..
>>
>>          location ~ \.php$ {
>>              fastcgi_pass sync;
>>              fastcgi_keep_conn on;
>>     ...
>>
>>     Percentage of the requests served within a certain time (ms)
>>        50%      3
>>        66%      3
>>        75%      4
>>        80%     42
>>        90%     43
>>        95%     44
>>        98%     44
>>        99%     45
>>       100%     52 (longest request)
>>     ==========================
>>
>>     Без keepalive тот же апстрим:
>>
>>     Percentage of the requests served within a certain time (ms)
>>        50%      1
>>        66%      1
>>        75%      1
>>        80%      1
>>        90%      1
>>        95%      2
>>        98%      2
>>        99%      3
>>       100%      7 (longest request)
>>
>>     Это повторяется на разных приложениях и разных фронтендах (см.
>>     скриншот)
>>
>>
>>
>>     _______________________________________________
>>     nginx-ru mailing list
>>     nginx-ru на nginx.org <mailto:nginx-ru на nginx.org>
>>     http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>
>>
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru на nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
> 
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
> 



Подробная информация о списке рассылки nginx-ru