Ping è una misura di round-trip-time (RTT), o quanto tempo impiega un messaggio per andare dal tuo computer al server e viceversa. Chiamiamo il ritardo il latenza .
Una linea in fibra ottica tra due uffici ha una bassa latenza, mentre l'invio di un disco rigido ha una latenza enorme.
La latenza elevata richiederà più tempo per la richiesta iniziale di colpire il server e tornare indietro. Il più semplice dei siti web richiede un RTT:
- Il cliente chiede una pagina
- Il server consegna la pagina
Anche le pagine più complesse richiedono richieste aggiuntive. Imparerai solo che devi caricare fogli di stile, librerie javascript e così via dopo caricamento dell'HTML per una pagina, in modo tale da aggiungere anche round trip aggiuntivi.
Ancor peggio, queste richieste potrebbero essere fatte in serie. Quindi chiederai foo.css
, poi bar.js
, poi baz.jpg
- e ogni richiesta richiederà un RTT. Questo in genere non accade, ma si avranno ancora risorse che si caricano in blocchi - la risorsa A dice che ha bisogno di B, e B ha bisogno di C, e C ha bisogno di D ...
Un esempio
Con gli strumenti di sviluppo di Chrome, puoi emulare una connessione con scarsa latenza. Il caricamento di alcuni siti con diverse impostazioni di ping rivela quanto fa male la latenza elevata. Ho misurato il tempo impiegato per il DOM da caricare, il che significa che la struttura della pagina è nota, anche se le immagini, gli stili, ecc. Potrebbero ancora essere caricati.
Inoltre, ho misurato questi premendo Ctrl-F5, che ignora i dati memorizzati nella cache. Questo rende i carichi più lenti, ma riflette anche ciò che dovrebbe accadere quando visiti un sito per la prima volta.
stackoverflow.com fornisce:
Nessun ritardo (40 ms): 350 ms
200 ms di latenza: 700 ms
Latenza 400 ms: 1130 ms
Sembra che abbiamo bisogno di alcuni RTT per iniziare a mostrare qualcosa . Non male. Possiamo anche esaminare il tempo impiegato per qualunque cosa caricare:
Nessun ritardo (40 ms): 750 ms
200 ms di latenza: 2000 ms
Latenza 400ms: 4000ms
Questo è molto peggio! Ora, in gran parte questo è solo il caricamento degli annunci, ma va comunque a dimostrare quanto sia importante l'RTT.
Quindi, in breve: sì, un'alta latenza può far caricare lentamente le pagine web . Le pagine più complesse si caricano notevolmente più lentamente, anche se il loro contenuto non è molto grande, perché ogni richiesta ha un grande ritardo.