Com provar la velocitat de càrrega del lloc web al terminal Linux


El temps de resposta d'un lloc web pot tenir un gran impacte en l'experiència de l'usuari, i si sou un desenvolupador web, o simplement un administrador de servidors que és especialment responsable d'organitzar les peces juntes, heu de fer que sigui un punt que els usuaris no sentin. frustrat mentre accediu al vostre lloc, així que realment hi ha \necessitat de velocitat.

Aquesta guia us mostrarà com provar el temps de resposta d'un lloc web des de la línia d'ordres de Linux. A continuació, mostrarem com comprovar el temps en segons, que triga:

  • per dur a terme la resolució de noms.
  • per a la connexió TCP al servidor.
  • per a que comenci la transferència de fitxers.
  • per transferir el primer byte.
  • per a l'operació completa.

A més, per als llocs amb HTTPS habilitats, també veurem com provar el temps, en segons, que triga a completar una redirecció i una connexió/encaix SSL al servidor. Sona bé, d'acord, comencem.

cURL és una potent eina de línia d'ordres per transferir dades des o cap a un servidor, utilitzant protocols com ara FITXER, FTP, FTPS, HTTP, HTTPS i molts altres. En la majoria dels casos, s'utilitza com a descàrrega de línia d'ordres o per comprovar les capçaleres HTTP. Tanmateix, aquí descriurem una de les seves funcionalitats menys conegudes.

cURL té una opció útil: -w per imprimir informació a stdout després d'una operació completa. Té algunes variables que podem utilitzar per provar els diferents temps de resposta enumerats anteriorment, d'un lloc web.

Utilitzarem algunes de les variables relacionades amb el temps, que es poden passar en un format determinat com a cadena literal o dins d'un fitxer.

Així que obriu el vostre terminal i executeu l'ordre següent:

$ 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

Les variables en el format anterior són:

  • time_namelookup: temps, en segons, que va trigar des de l'inici fins que es va completar la resolució del nom.
  • time_connect: temps, en segons, que va trigar des de l'inici fins que es va completar la connexió TCP a l'amfitrió remot (o al servidor intermediari).
  • time_pretransfer: temps, en segons, que va trigar des de l'inici fins que la transferència de fitxers estava a punt de començar.
  • time_starttransfer: temps, en segons, que va trigar des de l'inici fins que el primer byte estava a punt de transferir-se.
  • time_total: temps total, en segons, que va durar l'operació completa (resolució en mil·lisegons).

Si el format és massa llarg, podeu escriure'l en un fitxer i utilitzar la sintaxi següent per llegir-lo:

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

A l'ordre anterior, la bandera:

  • -s: diu a curl que funcioni en silenci.
  • -w: imprimeix la informació a stdout.
  • -o: s'utilitza per redirigir la sortida (aquí descartem la sortida redirigint-la a /dev/null).

Per als llocs HTTPS, podeu executar l'ordre següent:

$ 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

En el format anterior, les noves variables de temps són:

  • time_appconnect: temps, en segons, que va trigar des de l'inici fins que s'ha completat la connexió o l'enllaç SSL amb l'amfitrió remot.
  • time_redirect: temps, en segons, que van trigar tots els passos de redirecció, inclosa la cerca de nom, la connexió, la transferència prèvia i la transferència abans que s'iniciés la transacció final; calcula el temps d'execució complet per a diverses redireccions.

Punts importants a destacar.

  • Notaràs que els valors del temps de resposta segueixen canviant (a causa de diversos factors) a mesura que feu diferents proves, per tant, és recomanable recollir diversos valors i obtenir una velocitat mitjana.
  • En segon lloc, a partir dels resultats de les ordres anteriors, podeu veure que accedir a un lloc web mitjançant HTTP és molt més ràpid que mitjançant HTTPS.

Per obtenir més informació, consulteu la pàgina de manual de cURL:

$ man curl

Finalment, però no menys important, si els vostres resultats no són agradables, heu de fer alguns ajustos al vostre servidor o al codi. Podeu considerar utilitzar els tutorials següents que expliquen programes i consells per fer que els llocs web es carreguin més ràpidament a Linux:

  1. Instal·leu Nginx amb Ngx_Pagespeed (optimització de velocitat) a Debian i Ubuntu
  2. Acelereu el rendiment de Nginx amb Ngx_Pagespeed a CentOS 7
  3. Aprèn a accelerar els llocs web amb el mòdul Nginx i Gzip
  4. Com augmentar la velocitat d'Internet del servidor Linux amb TCP BBR

Això és tot! Ara ja sabeu com provar el temps de resposta del lloc web des de la línia d'ordres. Podeu fer preguntes mitjançant el formulari de comentaris que trobareu a continuació.