Добрый день.
При включении 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
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Attachments:
open |
download -
2020-09-04_13-28.png
(10.7 KB)