Mesurer la vitesse d'un site Web avec cURL depuis le terminal Ubuntu

à propos de mesurer la vitesse d'un Web avec cURL

Dans le prochain article, nous allons voir comment nous pouvons mesurer le temps de réponse d'un site web depuis le terminal à l'aide de cURL. Ceci est intéressant à savoir, car cela peut avoir un grand impact sur l'expérience utilisateur.

Que vous soyez développeur web ou que vous gériez un serveur, vous saurez que la vitesse c'est quelque chose qui devrait toujours être prêt. Il est important que tout fonctionne correctement afin que les utilisateurs ne se sentent pas frustrés lorsqu'ils accèdent à votre site.

Ensuite, nous allons voir quelques commandes pour pouvoir mesurer le temps de réponse d'un site web. Avec eux, nous pourrons vérifier le temps en secondes des différents champs des pages http et https. Nous ferons tout à partir de la ligne de commande Ubuntu en utilisant cURL,

Utilisez cURL pour mesurer la vitesse de chargement

À partir de sites Web avec HTTP

contrôle de la vitesse d'un site Web http

cURL a de nombreuses options disponibles, parmi lesquelles nous pouvons trouver -w, ce qui sera utile pour imprimer les informations sur la sortie standard après une opération terminée. Il nous offre également quelques variables que nous pouvons utiliser pour tester les différents temps de réponse d'un site Web.

Pour réaliser cette mesure, nous allons utiliser certaines des variables que l'on peut trouver dans le documentation officielle cURL. Ceux-ci peuvent être passés dans un format donné sous forme de chaîne littérale ou dans un fichier.

Les variables que nous utiliserons seront les suivantes:

  • recherche_nom_heure → Temps en secondes. Se prend de la création à la résolution de nom complète.
  • heure_connecter → Temps en secondes. Du démarrage à la fin de la connexion TCP à l'hôte distant ou proxy.
  • time_pretransfer → Le temps en secondes qu'il a fallu depuis le début jusqu'au début du transfert de fichiers. Cela inclut toutes les commandes et négociations préalables au transfert qui sont spécifiques aux protocoles impliqués.
  • time_starttransfer → Le temps en secondes qu'il a fallu depuis le début jusqu'à ce que le premier octet soit sur le point d'être transféré. Cela inclut time_pretransfer ainsi que le temps nécessaire au serveur pour calculer le résultat.
  • temps_totalDurée totale en secondes de l'opération entière. Il est résolu en millisecondes.

Pour exécuter la commande que nous allons monter avec les variables précédentes, nous n'aurons plus qu'à ouvrir un terminal (Ctrl + Alt + T) et écrire:

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

Comme cela peut devenir un peu fastidieux de l'écrire dans un terminal à chaque fois que nous voulons l'utiliser, nous pouvons choisir de l'écrire dans un fichier.

À l'intérieur du fichier, auquel je vais donner le nom de control-speed-web.txt, vous devez coller le code suivant:

\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

Une fois sauvegardé et de retour dans le terminal, nous pouvons utilisez ce fichier en tapant la syntaxe suivante:

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

La commande ci-dessus fonctionnera sur mode silencieux grâce à -s. avec -w les informations sont imprimées dans Stdout. Pour redirigeons la sortie vers / dev / null utilisons -o.

À partir de sites Web avec HTTPS

mesurer la vitesse d'un site Web https

Si nous sommes intéressés par l'utilisation de ce test pour les sites HTTPS, nous pouvons exécuter la commande dans le terminal (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

Dans ce format, plus de variables de temps sont utilisées en plus de ce qui précède. Et ce sont:

  • time_appconnect → Le temps en secondes qu'il a fallu depuis le début jusqu'à ce que la connexion SSL / SSH / etc à l'hôte distant soit établie.
  • time_redirect → Temps en secondes, qui a pris toutes les étapes de redirection avant le début de la transaction finale. Calculez le temps d'exécution total pour plusieurs redirections.

Comme dans le cas précédent, il peut également être écrit dans un fichier. Comme dans le cas précédent, je vais appeler control-speed-web.txt, et à l'intérieur, vous devrez coller:

\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

Enregistré le fichier et de retour dans le terminal, nous pouvons utilisez-le avec la syntaxe:

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

Pour plus d'informations, vous pouvez consulter le documentation cUrl ou la page de manuel:

man curl

Comme les valeurs du temps de réponse changeront en raison de différents facteurs, il est conseillé d'effectuer différents tests et d'établir une vitesse moyenne. Ce que nous allons également voir, c'est que l'accès à un site Web via HTTP est généralement beaucoup plus rapide que de le faire via HTTPS.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.