cURL:n proxy-ajastimien lukeminen asiakkaan puolelta
Tulkitse yhteyden, TLS:n, ensimmäisen tavun ja kokonaisajan ajastimet antamatta havaitsematonta ylävirran työtä pelkälle proxy-mittaukselle.
Oletetaan, että cURL avaa uuden TCP-yhteyden tavalliseen HTTP-proxyyn, muodostaa HTTPS-tunnelin ja lataa yhden vastauksen. Ajastimet kuvaavat virstanpylväitä, joita cURL havaitsi tällä polulla.
| Arvo | Siirron alusta mitattu virstanpylväs |
|---|---|
| time_connect | Yhteys proxyyn on valmis |
| time_appconnect | Asiaankuuluva TLS-kättely on valmis |
| time_starttransfer | Vastauksen ensimmäinen tavu on vastaanotettu |
| time_total | Siirto päättyi |
Havainnollistavaa POSIX-kuoren tallennusta varten:
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/
Sallittua julkista HTTPS-vertailua varten ilman proxy-tunnuksia esimerkkiproxyn voi korvata HTTP-proxyluettelon HTTP-merkinnällä. Arvot ovat kumulatiivisia sekunteja. Ne eivät ole neljä itsenäistä kestoa, jotka lasketaan yhteen. Pidä siirtovirhe ja vastauksen tila lukujen vieressä: epäonnistunut yhteys tai hylätty tunneli ei saavuttanut jokaista myöhempää virstanpylvästä.
Mitä vähennyslasku kertoo
Yhden onnistuneen vastauksen kohdalla time_total miinus time_starttransfer kuvaa jäljelle jäävän jakson ensimmäisen tavun saapumisen jälkeen. Se on pääosin myöhempi vastauksen siirto ja siihen liittyvä asiakaspuolen työ. Se ei ole proxyn aika yhteyden muodostamiseen verkkosivustoon, koska se tapahtui ennen kuin vastaus saattoi saapua.
Samoin time_starttransfer miinus time_connect voi sisältää tunnelin rakentamisen, TLS:n, ylävirran verkon odotukset, palvelimen työn ja muun käsittelyn. Koko eron kutsuminen "proxyn latenssiksi" kohdistaa useita osia yhdelle osapuolelle.
Erottaaksesi proxyn DNS-, yhteys- ja vastausodotukset hanki vastaavat havainnot tai jäljet proxyn puolelta. Asiakas ei saa näitä sisäisiä aikaleimoja pelkästään käyttämällä HTTP CONNECTia.
Vertaa vastaavia siirtoja. Uudelleenohjaukset lisäävät useiden pyyntöjen ajat, kun taas yhteyksien uudelleenkäyttö ja multipleksointi muuttavat sitä, mitä valmistelutyötä tarvitaan. Kirjaa nämä ehdot ennen kuin vertaat yhden proxyn lukuja toisen lukuihin.