Stel dat cURL een nieuwe TCP-verbinding opent naar een eenvoudige HTTP-proxy, een HTTPS-tunnel opzet en één antwoord downloadt. De tijden beschrijven mijlpalen die cURL op dat pad heeft waargenomen.

WaardeMijlpaal gemeten vanaf de start van de overdracht
time_connectDe verbinding met de proxy is voltooid
time_appconnectDe betreffende TLS-handshake is voltooid
time_starttransferDe eerste byte van het antwoord is ontvangen
time_totalDe overdracht is afgelopen

Voor een illustratieve opname in een POSIX-shell:

curl --proxy http://proxy.example:8080 \
  --output /dev/null \
  --write-out 'connect=%{time_connect} tls=%{time_appconnect} first=%{time_starttransfer} total=%{time_total}\n' \
  https://example.com/

Voor een toegestane openbare HTTPS-vergelijking zonder proxyreferenties kan een HTTP-item uit de HTTP-proxylijst de voorbeeldproxy vervangen. De waarden zijn opgetelde seconden. Het zijn geen vier onafhankelijke duurwaarden om bij elkaar op te tellen. Houd de overdrachtsfout en de responsstatus naast de getallen: een mislukte verbinding of een geweigerde tunnel heeft niet elke latere mijlpaal bereikt.

Wat aftrekken je kan vertellen

Voor één geslaagd antwoord beschrijft time_total min time_starttransfer het resterende interval nadat de eerste byte is aangekomen. Dat is vooral de latere antwoordoverdracht en het bijbehorende werk aan de clientzijde. Het is niet de tijd van de proxy om verbinding te maken met de website, want dat gebeurde voordat het antwoord kon aankomen.

Evenzo kan time_starttransfer min time_connect tunnelopbouw, TLS, wachttijden in het bovenliggende netwerk, serverwerk en andere verwerking omvatten. Het hele verschil "proxylatentie" noemen, schrijft meerdere componenten aan één deelnemer toe.

Om de wachttijden van de proxy op DNS, verbinding en antwoord te scheiden, moet je overeenkomstige waarnemingen of traces van de proxyzijde verkrijgen. De client ontvangt die interne tijdstempels niet louter door HTTP CONNECT te gebruiken.

Vergelijk gelijkwaardige overdrachten. Doorverwijzingen voegen tijden van meerdere verzoeken toe, terwijl hergebruik van verbindingen en multiplexing veranderen welk voorbereidend werk nodig is. Noteer die omstandigheden voordat je de cijfers van de ene proxy met die van een andere vergelijkt.

Gerelateerde artikelen