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