Hi, I hope someone can help me out with this question. Recently we’ve upgraded from
2.4. We log and monitor using the default timing events
TR/Tw/Tc/Tr/Ta. After upgrading to
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.