CURL: Décortiquez vos temps de réponse

Pour ceux qui voudraient analyser en profondeur les temps de réponse serveur, voici une commande bien utile !

En effet, en une seule ligne de commande, vous pouvez avoir pas mal d’informations sur le temps que met le serveur à réponse et cela détaillé par étape clé de la création de votre page. Ainsi, vous pouvez savoir le temps que met la résolution DNS, le temps de connexion, le temps jusqu’au TTFB (time to first byte)…

Pour cela, rien de plus simple ! il suffit d’utiliser Curl. En effet, en spécifiant quelques variables vous pourrez récupérer des informaitons biens utiles. Voici un example de varaibles que vous pouvez passer en paramètres:

  • %{content_type}:  le type de contenu du document renvoyé (s’il y’a un document)
  • %{http_code}: le code HTTP renvoyé par le serveur (tous les code http)
  • %{num_connects}: nombre de nouvelles connexion effectuées
  • %{num_redirects}: nombre de redirections suivies au moment de la connexion
  • %{size_download}: poids du document reçu (en bytes)
  • %{size_request}:  total en bytes envoyé lors de la requête HTTP
  • %{speed_download}: vitesse de téléchargement moyenne mesurée par curl jusqu’à la reception totale du document (bytes par seconde)
  • %{time_connect}: le temps, en secondes, depuis le début jusqu’à ce que la connexion TCP avec le serveur distant soit effective
  • %{time_namelookup}: le temps, en secondes, jusqu’à ce que la résolution DNS soit effective
  • %{time_starttransfer}:  le temps, en secondes, jusqu’à ce que le premier byte soit envoyé
  • %{time_total}: le temps total, en secondes, nécessaire jusqu’à la fin de l’opération

Voici un lien qui vous enmène sur la page d’aide où sont référencées l’ensemble des variables acceptées par Curl.

En formatant la sortie dans le terminal (flag -w), on peut obtenir des choses assez sympas :


curl -w '\nDNS lookup:\t%{time_namelookup}\nConnexion to host:\t%{time_connect}\nTTFB:\t%{time_starttransfer}\n\n--------------------\nTotal response time:\t%{time_total}\n' -o /dev/null -s http://www.le-geek.com/

DNS lookup: 0,024

Connexion to host: 0,040

TTFB: 0,081

--------------------
Total response time: 0,124 

Enjoy it !