Time to first byte : Comment réduire le TTFB pour améliorer le temps de chargement des pages
La TTFB mesure la durée entre une requête HTTP et le premier octet reçu. Cette mesure est composée du temps de connexion, du temps d'envoi de la requête HTTP et du temps d'obtention du premier octet. Le calcul initial de la TTFB inclut toujours la latence du réseau pour mesurer le temps nécessaire pour qu'une ressource commence à se charger.
Le Time To First Byte en détail
Le TTFB est l'abréviation de Time To First Byte, ou le temps de chargement du premier octet. Il s'agit simplement du temps que le navigateur doit attendre avant de recevoir son premier octet de données du serveur. Plus il faut du temps pour obtenir ces données, plus il faut du temps pour afficher votre site internet. Le temps de chargement du premier octet est très important pour un site webt car il indique si les pages se chargent lentement ou rapidement, ce n'est pas le seul indicateur intéressant pour calculer la rapidité d'une page web, mais son cout de calcul est très faible et il offre une bonne représentation de la rapidité d'affichage.
TTFB latence 1 : Connexion au serveur
Lorsque qu'un visiteur arrive sur votre page internet, la première chose que le navigateur fait est d'envoyer une requête HTTP au serveur. Cette étape de recherche DNS peut contribuer à augmenter le temps de latence pour la requête client si le serveur est géographiquement éloigné. La recherche DNS consiste en la transformation du nom de domaine en IP permettant accéder au serveur.
TTFB latence 2 : Traitement du serveur
Le serveur a maintenant reçu la demande de connexion et doit faire tout un tas de traitement afin de générer une réponse. Cette étape comprend l'accès aux fichiers, la connexion à la base de données et l'exécution des requêtes SQL, la compilation des scripts, l'appel aux différents scripts tiers et ressources. Les accès disque et la mémoire sont fortement sollicités pendant cette phase cruciale pour permettre au serveur de satisfaire la demande.
TTFB latence 3 : Réponse du serveur
Dès que le serveur a exécuté tout ses traitements il doit renvoyer la réponse au navigateur du client. Cette étape est affectée par la vitesse du réseau, si le client a une connexion internet lente, cela va se refléter dans le Time To First Byte. Dans la mesure du TTFB le poids de la page importe peu, car seul est pris en compte le premier octet reçu.
TTFB et temps de chargement
Le temps de chargement est le délai nécessaire pour qu'une page soit chargée et utilisable par un navigateur. Souvent, une page internet est composée d'image, de fichier JavaScript et CSS. Tout ces chargements supplémentaires n'affectent en rien le Time To First Bytes puisqu'ils arrivent après que le navigateur est reçu la réponse initiale du serveur. Les ressources chargés ne feront que ralentir le temps nécessaire avant que la page ne soit totalement chargé.
Importance du Time To First Byte
Le Time To First Byte sert à mesurer la réactivité d'une page internet, mais est-il pour autant important ? Nous savons à l'heure actuelle que Google se sert de la vitesse de chargement des sites mobiles pour influencer le classement des SERP (Search Engine Results Page) ou résultat de classement du moteur de recherche. Même si ce n'est pas le seul indicateur utilisé par Google pour ordonner ses résultats, il serait dommage d'être déclassé à cause d'un site trop lent. Même si le TTFB n'aurait aucune utilité pour les moteurs de recherche, avoir le Time To First Byte le plus rapide possible serait bénéfique pour expérience utilisateur.
Conseils pour diminuer le TTFB
Un hébergement web performant
Utiliser un hébergement internet rapide avec une architecture performante permettra de fortement réduire votre Time To First Byte, les connexions serveurs seront aussi à prendre en compte.
Maintenir PHP à jour
Les nouvelles version de PHP permettent un gain de temps à peine croyable, passer de PHP 5.x à la version de PHP 7.4 offre un gain considérable de performance de l'ordre de 300% suivant vos scripts.
Optimiser votre code
Optimiser son code permet d'avoir un temps de traitement serveur le plus court possible, les principales causes du ralentissement sont souvent les boucles et les appels aux web service externe.
Réduire les requêtes en base de données
Vérifier les temps de réponse à la base de données, certaines requêtes SQL peuvent être très gourmandes en ressources et augmenter fortement le Time To First Bytes. Un monitoring SQL aidera à détecter les problèmes.
Utiliser une mise en cache performante
L'un des moyens les plus faciles de faire baisser le TTFB est de mettre un cache en place pour votre site internet. La mise en cache réduit le TTFB en allégeant le temps de traitement du serveur.
Configurer un CDN premium
La plupart des hébergement n'offrent pas de DNS premium. En investissant dans un fournisseur DNS premium, vous vous assurez que les requêtes DNS reçoivent une réponse avec une latence faible grâce à un réseau mondial de serveurs DNS.
Il y a énormément d'autres techniques avancées à mettre en place afin d'améliorer votre TTFB, nous avons seulement décrit dans cet article les points de base très important. Le Time To First Byte sera certainement de plus en plus présent dans les algorithmes de classement des moteurs de recherche afin de satisfaire les clients impatients avec le site internet qui s'affiche le plus vite.