GNU/Linux >> Linux Esercitazione >  >> Linux

Come testare la velocità di caricamento del sito Web nel terminale Linux

Il tempo di risposta di un sito Web può avere un grande impatto sull'esperienza dell'utente e se sei uno sviluppatore Web o semplicemente un amministratore di server che è particolarmente responsabile dell'organizzazione dei pezzi insieme, allora devi fare in modo che gli utenti non si sentano frustrato durante l'accesso al tuo sito, quindi c'è davvero "bisogno di velocità ”.

Leggi anche :httpstat – Uno strumento di statistiche sui ricci per controllare le prestazioni del sito web

Questa guida ti mostrerà come testare il tempo di risposta di un sito Web dalla riga di comando di Linux. Qui, mostreremo come controllare il tempo in secondi, ci vuole:

  • per eseguire la risoluzione dei nomi.
  • per la connessione TCP al server.
  • per l'inizio del trasferimento del file.
  • per il primo byte da trasferire.
  • per l'operazione completa.

Inoltre, per i siti abilitati HTTPS, vedremo anche come testare il tempo, in secondi, necessario per completare un reindirizzamento e una connessione/handshake SSL al server. Suona bene, va bene, iniziamo.

cURL è un potente strumento da riga di comando per trasferire dati da o verso un server, utilizzando protocolli come FILE, FTP, FTPS, HTTP, HTTPS e molti altri. Nella maggior parte dei casi, viene utilizzato come downloader da riga di comando o per controllare le intestazioni HTTP. Tuttavia, qui descriveremo una delle sue funzionalità meno conosciute.

cURL ha un'utile opzione:-w per stampare informazioni su stdout dopo un'operazione completata. Ha alcune variabili che possiamo utilizzare per testare i diversi tempi di risposta sopra elencati, di un sito web.

Utilizzeremo alcune delle variabili relative al tempo, che possono essere passate in un determinato formato come stringa letterale o all'interno di un file.

Quindi apri il tuo terminale ed esegui il comando seguente:

$ curl -s -w 'Testing Website Response Time for :%{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

Le variabili nel formato sopra sono:

  • time_namelookup – tempo, in secondi, impiegato dall'inizio al completamento della risoluzione del nome.
  • time_connect – tempo, in secondi, impiegato dall'inizio al completamento della connessione TCP all'host (o proxy) remoto.
  • tempo_pretrasferimento – tempo, in secondi, impiegato dall'inizio all'inizio del trasferimento del file.
  • time_starttransfer – tempo, in secondi, impiegato dall'inizio al trasferimento del primo byte.
  • tempo_totale – tempo totale, in secondi, di durata dell'operazione completa (risoluzione in millisecondi).

Se il formato è troppo lungo, puoi scriverlo in un file e utilizzare la sintassi seguente per leggerlo:

$ curl -s -w "@format.txt" -o /dev/null http://www.google.com

Nel comando precedente, il flag:

  • -s – dice a curl di lavorare in silenzio.
  • -w – stampa le informazioni su stdout.
  • -o – utilizzato per reindirizzare l'output (qui scartiamo l'output reindirizzandolo a /dev/null ).

Per i siti HTTPS, puoi eseguire il comando seguente:

$ curl -s -w 'Testing Website Response Time for :%{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nAppCon 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://www.google.com

Nel formato precedente, le nuove variabili temporali sono:

  • time_appconnect – tempo, in secondi, impiegato dall'inizio al completamento della connessione/handshake SSL all'host remoto.
  • reindirizzamento_tempo – tempo, in secondi, impiegato per tutte le fasi di reindirizzamento, inclusa la ricerca del nome, la connessione, il pretrasferimento e il trasferimento prima dell'avvio della transazione finale; calcola il tempo di esecuzione completo per reindirizzamenti multipli.

Punti importanti da notare.

  • Noterai che i valori del tempo di risposta continuano a cambiare (a causa di diversi fattori) mentre esegui test diversi, quindi è consigliabile raccogliere più valori e ottenere una velocità media.
  • In secondo luogo, dai risultati dei comandi precedenti, puoi vedere che l'accesso a un sito Web tramite HTTP è molto più veloce che tramite HTTPS.

Per ulteriori informazioni, vedere la pagina man di cURL:

$ man curl

Ultimo ma non meno importante, se i tuoi risultati non sono piacevoli, devi apportare alcune modifiche al tuo server o all'interno del codice. Potresti prendere in considerazione l'utilizzo dei seguenti tutorial che spiegano programmi e suggerimenti per velocizzare il caricamento dei siti Web in Linux:

  1. Installa Nginx con Ngx_Pagespeed (Ottimizzazione della velocità) su Debian e Ubuntu
  2. Accelera le prestazioni di Nginx con Ngx_Pagespeed su CentOS 7
  3. Scopri come velocizzare i siti Web utilizzando Nginx e il modulo Gzip
  4. Come aumentare la velocità Internet del server Linux con TCP BBR

È tutto! Ora sai come testare il tempo di risposta del sito Web dalla riga di comando. Puoi porre domande tramite il modulo di feedback qui sotto.


Linux
  1. Come installare e testare Ansible su Linux

  2. Come testare la velocità di caricamento del sito Web in Linux

  3. Come testare un pacchetto senza installarlo in Linux

  4. Come impostare o modificare il fuso orario in Linux

  5. (Facile) Metti alla prova la tua velocità di download di Internet nel terminale Linux

Come aprire una finestra di un terminale Linux

Come confrontare due file nel terminale Linux

Come controllare la velocità di Internet in Linux

Come testare la velocità di connessione utilizzando il terminale con Speedtest

Come aprire un PDF in un terminale Linux

Come impostare data e ora su Linux