Čitanje vremena proxyja u cURL-u sa strane klijenta
Protumačite vremena povezivanja, TLS-a, prvog bajta i ukupnog vremena bez pripisivanja neopaženog rada na višoj razini mjerenju samo proxyja.
Pretpostavimo da cURL otvara novu TCP vezu prema običnom HTTP proxyju, uspostavlja HTTPS tunel i preuzima jedan odgovor. Vremena opisuju faze koje je cURL primijetio na tom putu.
| Vrijednost | Faza mjerena od početka prijenosa |
|---|---|
| time_connect | Veza s proxyjem je uspostavljena |
| time_appconnect | Odgovarajući TLS rukovanje je završeno |
| time_starttransfer | Primljen je prvi bajt odgovora |
| time_total | Prijenos je završen |
Za ilustrativno snimanje u POSIX ljusci:
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/
Za dopuštenu javnu HTTPS usporedbu bez proxy vjerodajnica, HTTP zapis iz popisa HTTP proxyja može zamijeniti primjerak proxyja. Vrijednosti su zbrojene sekunde. To nisu četiri neovisna trajanja koja treba zbrojiti. Držite pogrešku prijenosa i status odgovora uz brojeve: neuspješna veza ili odbijeni tunel nisu stigli do svake kasnije faze.
Što oduzimanje može otkriti
Za jedan uspješan odgovor, time_total minus time_starttransfer opisuje preostali interval nakon dolaska prvog bajta. To je uglavnom kasniji prijenos odgovora i s njim povezan rad na strani klijenta. To nije vrijeme proxyja za povezivanje s web-mjestom, jer se to dogodilo prije nego što je odgovor mogao stići.
Isto tako, time_starttransfer minus time_connect može uključivati uspostavljanje tunela, TLS, čekanja na višoj mreži, rad poslužitelja i drugu obradu. Nazivati cijelu razliku "kašnjenjem proxyja" znači pripisati više komponenti jednom sudioniku.
Da biste odvojili čekanja proxyja na DNS, povezivanje i odgovor, pribavite odgovarajuća opažanja ili tragove sa strane proxyja. Klijent ne dobiva te unutarnje vremenske oznake samo zato što koristi HTTP CONNECT.
Uspoređujte jednakovrijedne prijenose. Preusmjeravanja dodaju vremena više zahtjeva, a ponovno korištenje veze i multipleksiranje mijenjaju koje je pripremne radnje potrebno. Zabilježite te uvjete prije nego usporedite brojeve jednog proxyja s brojevima drugog.