]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: mux-h1: perform a graceful close at 75% glitches threshold
authorWilly Tarreau <w@1wt.eu>
Sat, 20 Dec 2025 15:48:15 +0000 (16:48 +0100)
committerWilly Tarreau <w@1wt.eu>
Sat, 20 Dec 2025 18:29:37 +0000 (19:29 +0100)
commit5904f8279bcb5cebd9266d04d14ee310017486cf
treec11389c7e5937ba3545961204695f42a29dc0e3e
parent05b457002b2e534b12e9cebab20b70c62b54e8cf
MINOR: mux-h1: perform a graceful close at 75% glitches threshold

This avoids hitting the hard wall for connections with non-compliant
peers that are accumulating errors. We recycle the connection early
enough to permit to reset the counter. Example below with a threshold
set to 100:

Before, 1% errors:
  $ h1load -H "Host : blah" -c 1 -n 10000000 0:4445
  #     time conns tot_conn  tot_req      tot_bytes    err  cps  rps  bps   ttfb
           1     1     1039   103872        6763365   1038 1k03 103k 54M1 9.426u
           2     1     2128   212793       14086140   2127 1k08 108k 58M5 8.963u
           3     1     3215   321465       21392137   3214 1k08 108k 58M3 8.982u
           4     1     4307   430684       28735013   4306 1k09 109k 58M6 8.935u
           5     1     5390   538989       36016294   5389 1k08 108k 58M1 9.021u

After, no more errors:
  $ h1load -H "Host : blah" -c 1 -n 10000000 0:4445
  #     time conns tot_conn  tot_req      tot_bytes    err  cps  rps  bps   ttfb
           1     1     1509   113161        7487809      0 1k50 113k 59M9 8.482u
           2     1     3002   225101       15114659      0 1k49 111k 60M9 8.582u
           3     1     4508   338045       22809911      0 1k50 112k 61M5 8.523u
           4     1     5971   447785       30286861      0 1k46 109k 59M7 8.772u
           5     1     7472   560335       37955271      0 1k49 112k 61M2 8.537u
doc/configuration.txt
src/mux_h1.c