GNU/Linux >> Tutoriels Linux >  >> Linux

Comment tester la vitesse de chargement du site Web dans le terminal Linux

Le temps de réponse d'un site Web peut avoir un impact important sur l'expérience utilisateur, et si vous êtes un développeur Web ou simplement un administrateur de serveur qui est particulièrement responsable de l'organisation des éléments, vous devez faire en sorte que les utilisateurs ne se sentent pas frustré lors de l'accès à votre site - il y a donc vraiment "besoin de rapidité ”.

Lire aussi :httpstat - Un outil de statistiques de boucles pour vérifier les performances du site Web

Ce guide vous montrera comment tester le temps de réponse d'un site Web à partir de la ligne de commande Linux. Ici, nous allons montrer comment vérifier le temps en secondes, cela prend :

  • pour effectuer la résolution de noms.
  • pour la connexion TCP au serveur.
  • pour que le transfert de fichiers commence.
  • pour le premier octet à transférer.
  • pour l'opération complète.

De plus, pour les sites compatibles HTTPS, nous verrons également comment tester le temps, en secondes, nécessaire pour qu'une redirection et une connexion/prise de contact SSL avec le serveur soient terminées. Ça sonne bien, d'accord, commençons.

cURL est un puissant outil de ligne de commande pour transférer des données depuis ou vers un serveur, en utilisant des protocoles tels que FILE, FTP, FTPS, HTTP, HTTPS et bien d'autres. Dans la plupart des cas, il est utilisé comme téléchargeur de ligne de commande ou pour vérifier les en-têtes HTTP. Cependant, nous décrirons ici l'une de ses fonctionnalités les moins connues.

cURL a une option utile :-w pour imprimer des informations sur stdout après une opération terminée. Il contient des variables que nous pouvons utiliser pour tester les différents temps de réponse énumérés ci-dessus d'un site Web.

Nous utiliserons certaines des variables liées au temps, qui peuvent être transmises dans un format donné sous forme de chaîne littérale ou dans un fichier.

Alors ouvrez votre terminal et lancez la commande ci-dessous :

$ 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 au format ci-dessus sont :

  • time_namelookup – temps, en secondes, qu'il a fallu depuis le début jusqu'à ce que la résolution du nom soit terminée.
  • time_connect - temps, en secondes, qu'il a fallu depuis le début jusqu'à ce que la connexion TCP à l'hôte distant (ou proxy) soit terminée.
  • time_pretransfer – temps, en secondes, qu'il a fallu depuis le début jusqu'à ce que le transfert de fichier soit sur le point de commencer.
  • time_starttransfer – 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é.
  • time_total – temps total, en secondes, qu'a duré l'opération complète (résolution en millisecondes).

Si le format est trop long, vous pouvez l'écrire dans un fichier et utiliser la syntaxe ci-dessous pour le lire :

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

Dans la commande ci-dessus, le drapeau :

  • -s – indique à curl de fonctionner en silence.
  • -w – imprimer les informations sur stdout.
  • -o – utilisé pour rediriger la sortie (ici, nous supprimons la sortie en la redirigeant vers /dev/null ).

Pour les sites HTTPS, vous pouvez exécuter la commande ci-dessous :

$ 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

Dans le format ci-dessus, les nouvelles variables de temps sont :

  • time_appconnect – temps, en secondes, qu'il a fallu depuis le début jusqu'à ce que la connexion/l'établissement de liaison SSL avec l'hôte distant soit terminé.
  • time_redirect – le temps, en secondes, qu'il a fallu pour toutes les étapes de redirection, y compris la recherche de nom, la connexion, le prétransfert et le transfert avant le début de la transaction finale ; il calcule le temps d'exécution complet pour plusieurs redirections.

Points importants à noter.

  • Vous remarquerez que les valeurs de temps de réponse continuent de changer (en raison de plusieurs facteurs) au fur et à mesure que vous exécutez différents tests, il est donc conseillé de collecter plusieurs valeurs et d'obtenir une vitesse moyenne.
  • Deuxièmement, d'après les résultats des commandes ci-dessus, vous pouvez voir que l'accès à un site Web via HTTP est beaucoup plus rapide que via HTTPS.

Pour plus d'informations, consultez la page de manuel cURL :

$ man curl

Enfin, si vos résultats ne sont pas satisfaisants, vous avez quelques ajustements à faire sur votre serveur ou dans le code. Vous pouvez envisager d'utiliser les didacticiels suivants qui expliquent les programmes et les astuces pour accélérer le chargement des sites Web sous Linux :

  1. Installer Nginx avec Ngx_Pagespeed (optimisation de la vitesse) sur Debian et Ubuntu
  2. Accélérez les performances de Nginx avec Ngx_Pagespeed sur CentOS 7
  3. Apprenez à accélérer les sites Web à l'aide du module Nginx et Gzip
  4. Comment augmenter la vitesse Internet du serveur Linux avec TCP BBR

C'est tout! Vous savez maintenant comment tester le temps de réponse du site Web à partir de la ligne de commande. Vous pouvez poser des questions via le formulaire de commentaires ci-dessous.


Linux
  1. Comment installer et tester Ansible sur Linux

  2. Comment tester la vitesse de chargement d'un site Web sous Linux

  3. Comment tester un paquet sans l'installer sous Linux

  4. Comment définir ou modifier le fuseau horaire sous Linux

  5. (Facile) Testez votre vitesse de téléchargement Internet dans le terminal Linux

Comment ouvrir une fenêtre de terminal Linux

Comment comparer deux fichiers dans un terminal Linux

Comment vérifier la vitesse d'Internet sous Linux

Comment tester votre vitesse de connexion à l'aide du terminal avec Speedtest

Comment ouvrir un PDF dans un terminal Linux

Comment définir la date et l'heure sous Linux