TTFB

Mesurer le TTFB (Time To First Byte) avec cURL

Qu’est ce que le TTFB ?

TTFB (Time To First Byte) est une mesure utilisée comme indication de la réactivité d’un serveur Web, il mesure en milliseconde le temps entre l’émission d’une requête et la réception de la réponse, cette dernière s’agit du premier octet de donnée.

le TTFB se compose de :

-Le temps de traitement de la requête par le serveur.

-Le délai de transmission de la réponse via le réseau.

-Le temps d’affichage de la page web par le dispositif.

TTFB

Mesurer le TTFB avec curl :

cURL est un excellent outil pour analyser les requêtes Web, on peut l’utiliser ainsi pour mesurer le TTFB en précisant une URL donnée. Prenons comme exemple le site Web sysreseau.net et mesurer la durée d’une requête sur sa page d’accueil :

Commencez par créer un fichier avec le nom de votre choix et y mettre le contenu ci-dessous :

[root@srv ~]# vim timecurl
[root@srv ~]# cat timecurl
time_namelookup: %{time_namelookup}\n
time_connect: %{time_connect}\n
time_appconnect: %{time_appconnect}\n
time_pretransfer: %{time_pretransfer}\n
time_redirect: %{time_redirect}\n
time_starttransfer: %{time_starttransfer}\n
----------\n
time_total: %{time_total}\n

Ensuite taper la commande suivante :

[root@srv ~]# curl -w "@timecurl" -o /dev/null -s "https://www.google.fr"
time_namelookup: 0,129
time_connect: 0,200
time_appconnect: 0,580
time_pretransfer: 0,580
time_redirect: 0,000
time_starttransfer: 0,731
----------
time_total: 0,731

-w « @timecurl » : demande à curl de prendre en considération le fichier timecurl.

-o /dev/null : Sans cette option vous aurez une sortie comme celle là alors que nous ce qui nous intéresse ce sont les mesures de TTFB :

curl

-s « https://www.google.fr » : demande à cURL de ne pas afficher de compteur de progression.

Maintenant voyons voir ce que signifie ces timing. Comme vous pouvez le voir, la sortie de la commande est formatée comme le format que nous avons défini dans le fichier timecurl.

time_namelookup : c’est le temps de résolution du nom de domain sysreseau.net en adresse IP.

time_connect : c’est l’étape de TCP Three-way handshake.

time_appconnect : C’est le temps de SSL handshake, il s’agit du processus qui entame une session de communication utilisant le chiffrement TLS.

time_pretransfer : est le temps entre le début et le moment où le transfert de fichiers est sur le point de commencer, y compris toutes les commandes et négociations préalables au transfert.

time_starttransfer : est le temps entre le début et le premier octet sur le point d’être transféré.

time_total : est le temps total utilisé.