Dear List

for one project I put an HAProxy HTTPS frontend in front of two backends
currently containing a single server each.

The nginx backend sits in front of a PHP application with a small number
of workers. Because HAProxy handles queuing better than nginx I limited
the nginx server to maxconn = 50.

Now the question: How many in-flight requests will be passed in peak
situations to nginx when I enable clear text HTTP/2 between HAProxy and
nginx for that maxconn = 50 server?

a) Is it 50 in-flight requests over a possibly smaller number of HTTP/2
connections? (requests <= 50)
b) Is it 50 HTTP/2 connections with an unknown number of in-flight
requests? (connections <= 50)
c) Is it 50 HTTP/2 connections with a single in-flight request each?
(connections = requests <= 50)

Relevant configuration:

> global
>       [...]
>       maxconn 2000
> 
> defaults
>       timeout connect 5s
>       timeout client  50s
>       timeout server  50s
>       [...]
> 
> frontend fe_https
>       mode http
> 
>       bind :::443 v4v6 ssl crt-list /etc/haproxy/crt_list strict-sni alpn 
> h2,http/1.1
> 
>       use_backend bk_AAAA     if X Y
>       use_backend bk_nginx    if X
> 
> backend bk_nginx
>       mode http
> 
>       option forwardfor
> 
>       server foo [fdcb:*snip*]:8080 check source [fdcb:*snip*] maxconn 50 
> proto h2
>       
> backend bk_AAAA
>       mode http
> 
>       option forwardfor
> 
>       server [...] [fdcb:*snip*]:6001 check source [fdcb:*snip*]
>       

Best regards
Tim Düsterhus

Reply via email to