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

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

Un temps de réponse du site Web peut avoir un grand impact 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 pièces ensemble, vous devez alors faire un point que les utilisateurs ne ressentent pas Frustré lors de l'accès à votre site - il y a donc vraiment «besoin de vitesse".

Lire aussi: httpstat - un outil de statistique en courrure 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 montrerons comment vérifier l'heure en quelques secondes, il faut:

  • Pour effectuer une résolution du nom.
  • Pour la connexion TCP au serveur.
  • Pour que le transfert de fichier commence.
  • pour que le premier octet soit transféré.
  • pour l'opération complète.

De plus, pour les sites compatibles HTTPS, nous verrons également comment tester l'heure, en quelques secondes, il faut: pour une redirection et une connexion SSL / une poignée de main vers le serveur à terminer. Ça sonne bien, d'accord, commençons.

boucle 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 le fichier, le FTP, les FTP, 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, ici, nous décrirons l'une de ses fonctionnalités moins connues.

boucle A une option utile: -w pour l'impression d'informations sur STDOUT après une opération terminée. Il a quelques 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 passées dans un format donné comme une chaîne littérale ou à l'intérieur d'un fichier.

Alors ouvrez votre terminal et exécutez la commande ci-dessous:

$ curl -s -w 'Test du site Web Temps de réponse pour:% url_effective \ n \ 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 
Tester la vitesse de chargement du site Web

Les variables dans le format ci-dessus sont:

  • Time_Namelookup - Le temps, en quelques secondes, il a pris le début jusqu'à ce que le nom de résolution soit terminé.
  • Time_connect - Le temps, en quelques secondes, il a pris le début jusqu'à ce que la connexion TCP à l'hôte distant (ou proxy) soit terminée.
  • Time_pretransfer - Le temps, en quelques secondes, il a pris du début jusqu'à ce que le transfert de fichiers soit sur le point de commencer.
  • Time_startTransfer - Le temps, en quelques secondes, il a pris du début jusqu'à ce que le premier octet soit sur le point d'être transféré.
  • Time_total - Temps total, en quelques secondes, que la pleine opération a duré (résolution de 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 - dit à Curl de travailler silencieusement.
  • -w - Imprimez les informations sur STDOUT.
  • -o - utilisé pour rediriger la sortie (ici, nous jetons la sortie en la redirigeant vers / dev / null).

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

$ curl -s -w 'Tester le site de réponse du site Web pour:% url_effective \ n \ n \ nlookup time: \ t \ t% time_namelookup \ nconnect time: \ t \ t% time_connect \ nappcon Time: \ t \ t \ 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 
Testez la vitesse du site Web HTTPS

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

  • Time_appconnect - Heure, en quelques secondes, il a pris le début jusqu'à ce que la connexion SSL / poignée de main à l'hôte distant soit terminée.
  • Time_redirect - Le temps, en quelques secondes, il a fallu toutes les étapes de redirection, y compris la recherche de noms, 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.

Des points importants à noter.

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

Pour plus d'informations, consultez la page Curl Man:

$ man curl 

Enfin et surtout, si vos résultats ne sont pas agréables, vous avez des ajustements à faire sur votre serveur ou dans le code. Vous pouvez envisager d'utiliser les tutoriels suivants qui expliquent les programmes et les conseils pour faciliter le chargement des sites Web en Linux:

  1. Installez 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 rétroaction ci-dessous.