Haproxy-Timing-Verbindungsdiagramm

13

Ich versuche mehr über die Haproxy-Timings zu verstehen. Nachfolgend finden Sie einen Auszug der Timings aus dem Haproxy-Handbuch:

  • Tq: Gesamtzeit zum Abrufen der Clientanforderung (nur HTTP-Modus) ...

  • Tw: Gesamtzeit in den Warteschlangen, die auf einen Verbindungssteckplatz gewartet hat ...

  • Tc: Gesamtzeit zum Herstellen der TCP-Verbindung zum Server ....

  • Tr: Serverantwortzeit (nur HTTP-Modus) ...

  • Tt: Gesamtdauer der Sitzung zwischen dem Zeitpunkt, an dem der Proxy sie angenommen hat, und dem Zeitpunkt, an dem beide Enden geschlossen wurden ...

Quelle: http://cbonte.github.io/haproxy-dconv/configuration-1.5.html#8.4

Ich habe versucht, einige der Timings grafisch darzustellen , aber mein Diagramm ist wahrscheinlich falsch und definitiv unvollständig (kein FIN usw.):

Bildbeschreibung hier eingeben

Frage: Wie würde das vollständige Zeitdiagramm aussehen, einschließlich aller Zeitmessungen (Tq, Tw, Tc, Tr, Tt) sowie der gesamten TCP / IP-Kommunikation?

Chris Snow
quelle
Ich denke, Tr beginnt, nachdem Tc fertig ist. Wartet haproxy auf die vollständige Anforderung, bevor eine Back-End-Verbindung hergestellt wird? Tw könnte früher beginnen.
Küken
Vielen Dank, dass Sie dieses Diagramm erstellt haben. In was hast du es gezeichnet?
Küken
@chicks - Ich habe Dia
Chris Snow
@chicks - bitte nehmen Sie an, dass mein Diagramm falsch ist :) - Ich habe das Diagramm nur hinzugefügt, um zu zeigen, wie ich über das Timing denke.
Chris Snow
Ich habe versucht, nützliche Vorschläge zu machen, ohne etwas vorauszusetzen. Es ist cool, dass du dafür dia benutzt hast. Ich mag dia für meine Datenbankdiagramme.
Küken

Antworten:

7

Ein tolles Bild :)

  • Das Zeitlimit für die Verbindung liegt auf der Serverseite. Dies ist die maximale Zeit für die Ausführung des TCP-Handshakes
  • http-request startet vom ACK auf der Client-Seite, bis ganze HTTP-Header empfangen wurden
  • Tq startet vom Client-Handshake-TCP.
  • Tr ist, bis wir die Antwort Header erhalten

Baptiste

Baptiste
quelle
1
danke für die Info, aber ich hatte gehofft, ein vollständiges Timing-Diagramm mit allen Maßnahmen zu erhalten und auch den gesamten TCP-Sitzungsaufbau und -abbau zu zeigen. Sind Sie Teil des Haproxy-Entwicklungsteams?
Chris Snow
In einer HTTPS-Sitzung startet der Tq-Timer, nachdem der TCP-Handshake beendet wurde und bevor der SSL-Handshake gestartet wird.
Chris Snow
1

Neuere Versionen des HAProxy-Konfigurationshandbuchs enthalten ein Diagramm der Timersequenz: 8.4 Timing-Ereignisse

Anthony
quelle