Мы используем haproxy 1.5.14 как балансировщик нагрузки для HTTP, а также конечные точки HTTPS для нескольких доменных имен. Для конечных точек HTTPS мы используем инспекцию заголовков SSL NI, чтобы узнать правильный внутренний узел.Время ожидания haproxy (qtime) во время проверки SSL SNI
В моей текущей установке, где существует несколько конечных точек https, я заметил, что backend qtime stat vaue довольно высокий (200-300 мс), что меня очень беспокоит. qcur (текущая очередь lengh) равна нулю одновременно. Мы в основном замедляем все наши запросы на 200 мс-300 мс на стороне haproxy? (не уверен, правильно ли я понял это значение qtime). Если да, я определенно ищу способ его оптимизации.
Такое поведение наблюдается только на серверах HTTPS, а не на HTTP-серверах. Мне интересно, является ли это результатом инспекции заголовков интерфейсов SNI, которые используются для определения правильных базовых узлов. Будет ли запрашиваться пребывание в очереди во время проверки SNI SSL?
Наша текущая конфигурация (только для HTTPS конечных точек):
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 40000
ulimit-n 100000
user haproxy
group haproxy
daemon
stats socket /var/lib/haproxy/stats
defaults
mode http
log global
option httplog
option dontlognull
option http-server-close
retries 3
timeout http-request 1s
timeout queue 1m
timeout connect 3s
timeout client 1m
timeout server 30s
timeout http-keep-alive 2s
timeout check 3s
maxconn 40000
frontend https-in *:443
mode tcp
option tcplog
option socket-stats
tcp-request inspect-delay 5s
tcp-request content accept if { req_ssl_hello_type 1 }
use_backend foo-ssl if { req_ssl_sni -m beg foo }
use_backend bar-ssl if { req_ssl_sni -m beg bar }
backend foo-ssl *:443
balance leastconn
mode tcp
option ssl-hello-chk
server foo1 x.x.x.x:443 maxconn 10000 check
server foo2 x.x.x.x:443 maxconn 10000 check
backend bar-ssl *:443
balance leastconn
mode tcp
option ssl-hello-chk
server bar1 x.x.x.x:443 maxconn 10000 check
server bar2 x.x.x.x:443 maxconn 10000 check