Mesurar la velocitat d'un lloc web amb cURL des de la terminal d'Ubuntu

about mesurar la velocitat d'un web amb cURL

En el següent article anem a fer una ullada a com podem mesurar el temps de resposta d'un lloc web des de la terminal utilitzant cURL. Això resulta interessant conèixer-lo, atès que pot tenir un gran impacte en l'experiència de l'usuari.

Tant si ets un desenvolupador web com si administres un servidor, sabràs que la velocitat és una cosa que convé tenir sempre a punt. És important que tot funcioni correctament perquè els usuaris no se sentin frustrats mentre accedeixen al teu lloc.

A continuació veurem alguns comandaments per poder mesurar el temps de resposta d'un lloc web. Amb ells podrem verificar el temps en segons de diferents camps tant de pàgines http com https. Tot ho farem des de la línia d'ordres d'Ubuntu utilitzant cURL,

Utilitzar cURL per mesurar la velocitat de càrrega

De llocs web amb HTTP

control de velocitat d'un web http

cURL compta amb moltes opcions disponibles, entre elles podem trobar -w, Que resultarà útil per imprimir informació a la sortida estàndard després d'una operació completada. A més ens ofereix algunes variables que podem usar per provar els diferents temps de resposta d'un lloc web.

Per aconseguir aquest mesurament, utilitzarem algunes de les variables que es poden trobar a la documentació oficial de cURL. Aquestes es poden passar en un format donat com una cadena literal o dins d'un arxiu.

Les variables que utilitzarem seran les següents:

  • time_namelookup → Temps en segons. es pren des de l'inici fins que es completa la resolució de el nom.
  • time_connect → Temps en segons. Des de l'inici fins que es va completar la connexió TCP a l'amfitrió remot o intermediari.
  • time_pretransfer → El temps en segons que es va trigar des del principi fins que la transferència d'arxius estava a punt de començar. Això inclou tots els ordres i negociacions prèvies a la transferència que són específics dels protocols involucrats.
  • time_starttransfer → El temps en segons que es va trigar des del principi fins que el primer byte estava a punt de ser transferit. Això inclou time_pretransfer i també el temps que el servidor va necessitar per calcular el resultat.
  • time_totalTemps total en segons que va durar l'operació completa. Es resol en mil·lisegons.

Per a la executar la comanda que muntarem amb les anteriors variables, Només haurem d'obrir una terminal (Ctrl + Alt + T) i escriure:

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

Com això es pot tornar una mica molest escriure-ho en una terminal cada vegada que vulguem utilitzar-lo, podem optar per escriure-ho en un arxiu.

Dins de l'arxiu, A què vaig a donar-li el nom de control-velocitat-web.txt, Cal enganxar el següent codi:

\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

Un cop guardat i de nou a la terminal, podem utilitzar aquest arxiu escrivint la següent sintaxi:

curl -s -w "@control-velocidad-web.txt" -o /dev/null http://www.google.com

La comanda anterior treballarà en manera silenciós gràcies a -s. Amb -w s'imprimeix la informació en stdout. Per redirigir la sortida a / dev / null utilitzarem -o.

De llocs web amb HTTPS

mesurar la velocitat d'un web https

Si ens interessa utilitzar aquesta prova per als llocs HTTPS, es pot executar a la terminal (Ctrl + Alt + T) la comanda:

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

En aquest format s'utilitzen més variables de temps a més de les anterior. I aquestes són:

  • time_appconnect → El temps en segons que es va trigar des del principi fins que es va completar la connexió SSL / SSH / etc a l'amfitrió remot.
  • time_redirect → Temps en segons, que van trigar tots els passos de redireccionament abans que s'iniciés la transacció final. Calcula el temps total d'execució per redireccions múltiples.

Com en el cas anterior, també es pot escriure en un arxiu. Com en el cas anterior ho vaig a TRUCAR control-velocitat-web.txt, I dins caldrà enganxar:

\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

Guardat l'arxiu i de nou a la terminal, podem utilitzar-lo amb la sintaxi:

curl -s -w "@control-velocidad-web.txt" -o /dev/null https://ubunlog.com

Per a més informació, es pot consultar la documentació de Curl o la pàgina d'el manual:

man curl

Com que els valors de temps de resposta aniran canviant a causa de diferents factors, El recomanable és realitzar diferents proves i establir una velocitat mitjana. Una cosa que també veurem és que accedir a un lloc web a través d'HTTP, per regla general és molt més ràpid que fer-ho mitjançant HTTPS.


Sigues el primer a comentar

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.