Пинг в продакшн быстрый: rtt min/avg/max/mdev = 0.054/0.095/0.131/0.027 ms
Примеры, приведенные выше, вообще делаются на одном сервере (localhost:9000)

Протокол fastcgi.


On 9/4/20 3:29 PM, fox wrote:
Пинг до сервера какой? Протокол 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 <panic...@rutarget.ru
<mailto:panic...@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 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

Ответить