Nel prossimo articolo daremo un'occhiata a come possiamo misurare il tempo di risposta di un sito web dal terminale utilizzando cURL. Questo è interessante da sapere, poiché può avere un grande impatto sull'esperienza dell'utente.
Che tu sia uno sviluppatore web o gestisca un server, lo saprai velocità è qualcosa che dovrebbe essere sempre pronto. È importante che tutto funzioni correttamente in modo che gli utenti non si sentano frustrati durante l'accesso al tuo sito.
Successivamente vedremo alcuni comandi per poterlo fare misurare il tempo di risposta di un sito web. Con loro saremo in grado controlla il tempo in secondi dei diversi campi delle pagine http e https. Faremo tutto dalla riga di comando di Ubuntu usando cURL,
Usa cURL per misurare la velocità di caricamento
Da siti Web con HTTP
cURL ha molte opzioni disponibili, tra cui possiamo trovare -w, che sarà utile per stampa le informazioni sullo standard output dopo un'operazione completata. Ce ne offre anche alcuni variabili che possiamo utilizzare per testare i diversi tempi di risposta di un sito web.
Per ottenere questa misurazione, utilizzeremo alcune delle variabili che possono essere trovate nel file documentazione ufficiale cURL. Questi possono essere passati in un determinato formato come stringa letterale o all'interno di un file.
Le variabili che utilizzeremo saranno le seguenti:
- time_namelookup → Tempo in secondi. È preso dall'inizio fino al completamento della risoluzione del nome.
- time_connect → Tempo in secondi. Dall'avvio al completamento della connessione TCP all'host remoto o procuratore.
- time_pretransfer → Il tempo in secondi impiegato dall'inizio fino a quando il trasferimento del file stava per iniziare. Ciò include tutti i comandi e le negoziazioni pre-trasferimento specifici per i protocolli coinvolti.
- time_starttransfer → Il tempo in secondi impiegato dall'inizio fino a quando il primo byte stava per essere trasferito. Ciò include time_pretransfer e anche il tempo impiegato dal server per calcolare il risultato.
- tempo_totale → Tempo totale in secondi durante il quale è durata l'intera operazione. Viene risolto in millisecondi.
a eseguire il comando che andremo a montare con le variabili precedenti, dovremo solo aprire un terminale (Ctrl + Alt + T) e scrivere:
curl -s -w '\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null http://www.google.com
Poiché può diventare un po 'complicato scriverlo in un terminale ogni volta che vogliamo usarlo, possiamo scegliere di scriverlo su un file.
All'interno del file, a cui darò il nome control-speed-web.txt, devi incollare il seguente codice:
\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n
Una volta salvato e di nuovo nel terminale, possiamo utilizzare questo file digitando la seguente sintassi:
curl -s -w "@control-velocidad-web.txt" -o /dev/null http://www.google.com
Il comando precedente funzionerà modalità silenziosa grazie a -s. Con -w vengono stampate le informazioni stdout. Per reindirizza l'output a / dev / null usiamo -o.
Da siti Web con HTTPS
Se siamo interessati a utilizzare questo test per i siti HTTPS, possiamo eseguire il comando nel terminale (Ctrl + Alt + T):
curl -s -w '\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nAppConnect Time:\t\t%{time_appconnect}\nRedirect Time:\t\t%{time_redirect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null https://ubunlog.com
In questo formato vengono utilizzate più variabili temporali oltre a quanto sopra. E questi sono:
- time_appconnect → Il tempo in secondi impiegato dall'inizio fino al completamento della connessione SSL / SSH / ecc. all'host remoto.
- tempo_reindirizzamento → Tempo in secondi, che ha impiegato tutti i passaggi di reindirizzamento prima dell'inizio della transazione finale. Calcola il tempo di esecuzione totale per più reindirizzamenti.
Come nel caso precedente, può anche essere scritto su un file. Come nel caso precedente lo farò chiamare control-speed-web.txt, e all'interno dovrai incollare:
\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nAppConnect Time:\t\t%{time_appconnect}\nRedirect Time:\t\t%{time_redirect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n
Salvato il file e di nuovo nel terminale, possiamo usalo con la sintassi:
curl -s -w "@control-velocidad-web.txt" -o /dev/null https://ubunlog.com
Per ulteriori informazioni, puoi consultare il Documentazione cUrl o la pagina man:
man curl
Como i valori del tempo di risposta cambieranno a causa di diversi fattori, si consiglia di effettuare diversi test e stabilire una velocità media. Qualcosa che vedremo anche è che l'accesso a un sito Web tramite HTTP è generalmente molto più veloce che farlo tramite HTTPS.