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):

enter image description here

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