Comment réduire le TTFB (Time to first bytes)
Dans le dernier billet, nous avons parlé du Time To First Byte (TTFB), c'est-à-dire du paramètre utilisé pour mesurer la réactivité du serveur web. En quelques mots, le TTFB est le temps qui s'écoule entre une demande du client HTTP et la réception du premier octet de la page web.
Il s'agit d'une dimension critique pour tout site Web, car elle affecte le classement et l'expérience de l'utilisateur. Il est donc très important que la valeur TTFB soit la plus faible possible. Dans l'article d'aujourd'hui nous allons parler de cela, et nous allons vous donner quelques conseils pour vous aider à optimiser votre Time To First Byte. Dans les lignes qui suivent, vous trouverez quelques conseils pour accélérer le serveur web et obtenir une meilleure valeur TTFB.
6 façons d'améliorer le TTFB :
1. Utiliser un réseau de diffusion de contenu
Un réseau de diffusion de contenu (CDN) est un réseau de serveurs géographiquement distribué qui permet aux utilisateurs de télécharger les données des sites Web qu'ils visitent en utilisant le nœud de réseau le plus proche.
De cette façon, le site web sera plus rapide tant au niveau du téléchargement que du chargement des pages et l'expérience de l'utilisateur sera améliorée. L'utilisation d'un CDN n'est pas nécessaire pour tous les types de sites web, il est donc utile de comprendre s'il est judicieux d'utiliser ce service ou non. Les avantages d'en utiliser sont les suivants :
- Temps de réponse serveur réduit : En utilisant un CDN, les fichiers sont servis à partir d'un serveur le plus proche géographiquement de l'utilisateur, ce qui permet de réduire les temps de latence et d'augmenter la vitesse de chargement des pages web.
- Optimisation des images à la volée : Certains CDN proposent des fonctionnalités d'optimisation d'images, comme la compression automatique ou la conversion de format pour améliorer les performances de chargement. Cela permet de réduire la taille des images sans perdre en qualité visuelle.
- Fiabilité et scalabilité : En utilisant un CDN, vous répartissez les requêtes sur plusieurs serveurs, ce qui permet de réduire les risques de surcharge et de crash de votre serveur d'origine. Cela contribue à une meilleure disponibilité et fiabilité de votre site web.
- Sécurité : Certains CDN proposent également des fonctionnalités de sécurité, comme la détection de bot ou la protection DDoS, qui permettent de protéger votre site des attaques.
En somme, l'utilisation d'un CDN permet de réduire les temps de réponse serveur et d'optimiser les images à la volée, améliorant ainsi les performances de votre site web. Il apporte également fiabilité, scalabilité et sécurité, comme expliqué sur le site agencewebperformance.fr. L'agence propose un article fleuve rédigé par Eroan Boyer que je vous recommande chaudement.
2. Optimiser le code de l'application
Le code de l'application est un élément crucial de l'optimisation du site Web. Plusieurs actions permettent d'accélérer la TTFB en ce qui concerne le code de l'application : ajouter un équilibreur de charge et mettre en cache le contenu statique et dynamique, mettre à jour le logiciel installé sur le serveur web, utiliser un serveur Reverse Proxy pour accélérer les applications et les sécuriser. En outre, compressez les données et mettez en œuvre le HTTP/2, ainsi que la surveillance des performances du serveur web et des activités en direct pour identifier les éventuels goulets d'étranglement.
3. Optimiser les requêtes de la base de données
Pour optimiser les requêtes de la base de données, vous devez tout d'abord créer correctement les index et ne récupérer que les données dont vous avez réellement besoin.
En outre, évitez d'utiliser des fonctions à gauche de l'opérateur, afin de ne pas avoir à lire l'ensemble de la base de données pour répondre à la requête. Évitez également les sous-requêtes corrélées, car elles dépendent d'autres requêtes et ralentissent le processus.
4. Réduire les requêtes HTTP
Pour réduire les requêtes HTTP, vous devez vérifier le nombre de requêtes que votre site Web effectue actuellement et supprimer les images inutiles. Une fois cette étape franchie, vous pouvez réduire la taille des fichiers des images restantes et analyser les facteurs susceptibles d'affecter la vitesse de chargement. D'autres choses que vous pouvez faire pour optimiser le TTFB sont de rendre JavaScript asynchrone et de combiner les fichiers CSS ensemble.
5. Assurer un temps de réponse plus rapide du serveur
Même ici, il est important d'intervenir sur les fichiers CSS et JavaScript et de combiner les fichiers externes. Vous pouvez également [object Promise] en suivant cet article.
Dans certains cas, vous pouvez utiliser de petits fichiers CSS et JavaScript en ligne, en les plaçant dans le fichier HTML lui-même, de sorte que vous n'ayez pas besoin de ressources externes et qu'aucun appel supplémentaire ne soit nécessaire pour eux. Il est également important de différer les images, car cela permet d'économiser de la bande passante et de réduire le temps de chargement des pages.
6. Utilisez le cache RFPL (Respond First, Process Later)
Avec cette méthode de cache, l'utilisateur voit immédiatement la réponse précédemment mise en cache et, dans le même temps, le serveur continue de traiter la demande en arrière-plan. Ainsi, les utilisateurs ne sont pas obligés d'attendre la réponse.
Questions fréquentes
Qu'est-ce qu'un bon TTFB ?
En général, tout ce qui est inférieur à 100 ms est excellent et constitue un bon TTFB. Google PageSpeed Insights recommande un temps de réponse du serveur inférieur à 200 ms. Si vous vous situez dans une fourchette de 300 à 500 ms, c'est la norme.
Quel est la cause du TTFB ?
La cause la plus courante d'un taux de transfert élevé est la génération de contenu dynamique. Il s'agit du temps nécessaire à PHP et aux requêtes de base de données pour générer vos pages Web. Les principaux facteurs contribuant à la lenteur de la génération de contenu dynamique sont les fichiers volumineux, les requêtes de base de données excessives ou lentes, et les données de chargement automatique.