haproxy timing connection diagram
I'm trying to understand more about the Haproxy timings. Below is a snippet of the timings from the Haproxy manual:
Tq: total time to get the client request (HTTP mode only)...
Tw: total time spent in the queues waiting for a connection slot...
Tc: total time to establish the TCP connection to the server....
Tr: server response time (HTTP mode only)...
Tt: total session duration time, between the moment the proxy accepted it and the moment both ends were closed...
Source: http://cbonte.github.io/haproxy-dconv/configuration-1.5.html#8.4
I've attempted to diagram some of the timings, but my diagram is probably incorrect and is definitely incomplete (no FIN, etc):
Question: What would the full timing diagram look like, including all timing measures (Tq, Tw, Tc, Tr, Tt) as well as all TCP/IP communications?
Solution 1:
Nice picture :)
- timeout connect is on server side, it is the maximum time to run the TCP handshake
- http-request starts from the ACK on the client side until whole HTTP headers have been received
- Tq starts from the client Handshake TCP.
- Tr is until we receive the response Headers
Baptiste
Solution 2:
Newer versions of the HAProxy Configuration Manual include a diagram of the timer sequence: 8.4 Timing Events