В данном случае, с пустым конфигом и 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

Reply via email to