Hi, I hope someone can help me out with this question. Recently we’ve upgraded from 2.3
to 2.4
. We log and monitor using the default timing events TR/Tw/Tc/Tr/Ta
. After upgrading to 2.4
, the TR
(and of course Ta
) have increased dramatically to up to 30 seconds, but only for HTTP/2
connections. I don’t find anything in the documentation of the timing events that would explain these long connections. What would be the explanation for these high TR
values and what would be a way to deal with it?
Our configuration looks something like this:
# cat /etc/haproxy/haproxy.cfg
# Ansible managed
global
...
defaults
...
listen stats
...
listen ssl-proxy
timeout http-keep-alive 5s
server socket-ssl-proxy /run/haproxy/ssl-proxy.sock send-proxy-v2
listen ssl-proxy-client-cert-auth
timeout http-keep-alive 5s
server socket-ssl-proxy /run/haproxy/ssl-proxy.sock send-proxy-v2
frontend http
bind /run/haproxy/ssl-proxy.sock mode 0660 accept-proxy
timeout http-keep-alive 5s
backend php-servers
option http-server-close
backend cdn-servers
option http-server-close
Our backends contain Apache and Nginx servers with keepalive enabled.
Apache configuration looks something like this:
#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On
#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 100
#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 2
Nginx uses the default keepalive settings.