Rulez haproxy 2.4 și când haproxy este configurat în modul tcp, primesc o utilizare ridicată a procesorului.
Exemplu:
Rularea instrumentului de stres pentru a genera aproximativ 30.000 de conexiuni:
./pst -c 100000 -r 100000 -u urlist.txt -p http://192.168.58.13:3128
Utilizarea procesorului în toate procesele haproxy crește până la aproape 100%, iar sarcina este de 4+.
Rularea aceluiași test în modul http.
Utilizarea procesorului este de aproximativ 10% pentru fiecare proces, iar sarcina este de 1,20.
De asemenea, încerc să folosesc nbthread în loc de nbproc, dar obțin aceleași rezultate.
De asemenea, această problemă continuă și pe haproxy 2.5
Fișier de configurare în modul HTTP:
# 1,5
# CPU(e) 11
global
log 127.0.0.1 local0
maxconn 200000
nbproc 11
cpu-map 1 0
cpu-map 2 1
cpu-map 3 2
cpu-map 4 3
cpu-map 5 4
cpu-map 6 5
cpu-map 7 6
cpu-map 8 7
cpu-map 9 8
cpu-map 10 9
cpu-map 11 10
uid 0
gid 0
chroot /tmp
pidfile /var/run/haproxy.pid
socket statistici /var/run/haproxy.stat mod 600 nivel admin
proces de legare a statisticilor 1
demon
# depanare
# Liniște
implicite
jurnal global
format de jurnal HASTATS:::%{+Q}o:::client_ip=%ci:::client_port=%cp:::datetime_of_request=[%tr]:::frontend_name_transport=%ft:::backend_name=%b :::server_name=%s:::time_to_receive_full_request=%TR:::Tw=%Tw:::Tc=%Tc:::response_time=%Tr:::active_time_of_request=%Ta:::status_code=%ST: ::bytes_read=%B:::captured_request_cookie=%CC:::captured_response_cookie=%CS:::terminare_state_with_cookie_status=%tsc:::actconn=%ac:::feconn=%fc:::beconn=%bc:: :srv_conn=%sc:::retries=%rc:::srv_queue=%sq:::backend_queue=%bq:::captured_request_headers_default_style=%hr:::captured_response_headers_default_style=%hs:::server_ip server_port=%sp:::frontend_name=%f:::http_method=%HM:::http_request_uri_without_query=%HP:::http_request_query_string=%HQ:::http_request_uri=%HU:::bytes_uploaded=%U:::ssl_ciphers =%sslc:::ssl_version=%sslv:::%[capture.res.hdr(0)]
modul http
opțiunea dontlognull
reîncercări 3
reexpedierea opțiunii
maxconn 200000
timeout connect 5000
timeout client 50000
server timeout 50000
frontend ddsds
bind :3128 nume ddsds
antet cerere de captare Host len 1024
antetul cererii de captare Content-Type len 1024
antetul cererii de capturare User-Agent len 1024
antet cerere de captare Referer len 1024
antetul cererii de capturare X-Forwarded-For len 1024
Captură antet răspuns Content-Type len 1024
capture cookie Cookie_2 len 100
http-request set-header mode mode:tcp
http-request capture hdr(mode) len 10
modul http
opțiunea httplog
# http-keep-alive: * 1 *
opțiunea http-keep-alive
timeout http-keep-alive 15000
opțiunea prefer-last-server
reexpedierea opțiunii
nicio opțiune httpclose
opțiunea http-tunnel
timeout client 15000
timeout http-request 50000
coada de timeout 50000
default_backend default_ddsds
backend default_ddsds
modul http
echilibru minimumconn
# http-keep-alive: * 1 *
opțiunea http-keep-alive
timeout http-keep-alive 15000
opțiunea prefer-last-server
reexpedierea opțiunii
nicio opțiune httpclose
opțiunea http-tunnel
timeout connect 4000
server timeout 50000
timeout http-request 50000
coada de timeout 50000
reîncercări 3
server normal_port 192.168.58.12:50877 weight 1 maxconn 10000 check inter 60000 rise 2 fall 3 source 192.168.58.13
# ddsds nici un rezultat
pagina_admin frontend
lega 127.0.0.1:64741
modul http
statisticile permit
statisticile reîmprospătează 10 secunde
stats uri /stats
Fișier de configurare în modul TCP:
# 1,5
# CPU(e) 11
global
log 127.0.0.1 local0
maxconn 200000
nbproc 11
cpu-map 1 0
cpu-map 2 1
cpu-map 3 2
cpu-map 4 3
cpu-map 5 4
cpu-map 6 5
cpu-map 7 6
cpu-map 8 7
cpu-map 9 8
cpu-map 10 9
cpu-map 11 10
uid 0
gid 0
chroot /tmp
pidfile /var/run/haproxy.pid
socket statistici /var/run/haproxy.stat mod 600 nivel admin
proces de legare a statisticilor 1
demon
# depanare
# Liniște
implicite
jurnal global
format de jurnal HASTATS:::%{+Q}o:::client_ip=%ci:::client_port=%cp:::datetime_of_request=[%tr]:::frontend_name_transport=%ft:::backend_name=%b :::server_name=%s:::time_to_receive_full_request=%TR:::Tw=%Tw:::Tc=%Tc:::response_time=%Tr:::active_time_of_request=%Ta:::status_code=%ST: ::bytes_read=%B:::captured_request_cookie=%CC:::captured_response_cookie=%CS:::terminare_state_with_cookie_status=%tsc:::actconn=%ac:::feconn=%fc:::beconn=%bc:: :srv_conn=%sc:::retries=%rc:::srv_queue=%sq:::backend_queue=%bq:::captured_request_headers_default_style=%hr:::captured_response_headers_default_style=%hs:::server_ip server_port=%sp:::frontend_name=%f:::http_method=%HM:::http_request_uri_without_query=%HP:::http_request_query_string=%HQ:::http_request_uri=%HU:::bytes_uploaded=%U:::ssl_ciphers =%sslc:::ssl_version=%sslv:::%[capture.res.hdr(0)]
modul http
opțiunea dontlognull
reîncercări 3
reexpedierea opțiunii
maxconn 200000
timeout connect 5000
timeout client 50000
server timeout 50000
frontend ddsds
bind :3128 nume ddsds
antet cerere de captare Host len 1024
antetul cererii de captare Content-Type len 1024
antetul cererii de capturare User-Agent len 1024
antet cerere de captare Referer len 1024
antetul cererii de capturare X-Forwarded-For len 1024
Captură antet răspuns Content-Type len 1024
capture cookie Cookie_2 len 100
http-request set-header mode mode:tcp
http-request capture hdr(mode) len 10
modul tcp
opțiunea httplog
opțiunea dontlognull
opțiunea http-tunnel
timeout client 15000
timeout http-request 50000
coada de timeout 50000
default_backend default_ddsds
backend default_ddsds
modul tcp
echilibru minimumconn
opțiunea http-tunnel
timeout connect 4000
server timeout 50000
timeout http-request 50000
coada de timeout 50000
reîncercări 3
server normal_port 192.168.58.12:50877 weight 1 maxconn 10000 check inter 60000 rise 2 fall 3 source 192.168.58.13
# ddsds nici un rezultat
pagina_admin frontend
lega 127.0.0.1:64741
modul http
statisticile permit
statisticile reîmprospătează 10 secunde
stats uri /stats
Oricine mă poate ajuta să rezolv această problemă.
Mulțumesc anticipat.