Supponiamo che cURL apra una nuova connessione TCP verso un proxy HTTP semplice, stabilisca un tunnel HTTPS e scarichi una risposta. I tempi descrivono le tappe osservate da cURL su quel percorso.

ValoreTappa misurata dall'inizio del trasferimento
time_connectLa connessione al proxy è completata
time_appconnectLo handshake TLS pertinente è completato
time_starttransferÈ stato ricevuto il primo byte della risposta
time_totalIl trasferimento è terminato

Per una cattura esemplificativa in una shell POSIX:

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/

Per un confronto HTTPS pubblico consentito senza credenziali del proxy, una voce HTTP dell'elenco di proxy HTTP può sostituire il proxy dell'esempio. I valori sono secondi cumulativi. Non sono quattro durate indipendenti da sommare. Tenere l'errore di trasferimento e lo stato della risposta accanto ai numeri: una connessione fallita o un tunnel rifiutato non ha raggiunto ogni tappa successiva.

Cosa può dirti la sottrazione

Per una singola risposta riuscita, time_total meno time_starttransfer descrive l'intervallo rimanente dopo l'arrivo del primo byte. Si tratta soprattutto del trasferimento successivo della risposta e del lavoro associato lato client. Non è il tempo impiegato dal proxy per connettersi al sito, perché ciò è avvenuto prima che la risposta potesse arrivare.

Allo stesso modo, time_starttransfer meno time_connect può includere la creazione del tunnel, TLS, le attese della rete a monte, il lavoro del server e altre elaborazioni. Chiamare l'intera differenza "latenza del proxy" assegna più componenti a un solo partecipante.

Per separare le attese del proxy su DNS, connessione e risposta, ottenere osservazioni o tracce corrispondenti dal lato del proxy. Il client non riceve quei timestamp interni solo perché usa HTTP CONNECT.

Confrontare trasferimenti equivalenti. I reindirizzamenti aggiungono i tempi di più richieste, mentre il riuso delle connessioni e il multiplexing cambiano il lavoro di preparazione necessario. Annotare queste condizioni prima di confrontare i numeri di un proxy con quelli di un altro.

Articoli correlati