Réduire les temps de réponse du serveur

La section "Opportunités" de votre rapport Lighthouse indique le temps de réponse du serveur, c'est-à-dire le temps nécessaire au navigateur d'un utilisateur pour recevoir le premier octet du contenu de la page après avoir effectué la requête :

Capture d'écran de l'audit "Les temps de réponse du serveur Lighthouse sont faibles"

Les temps de réponse lents du serveur affectent les performances

Cet audit échoue lorsque le navigateur attend plus de 600 ms que le serveur réponde à la requête de document principal. Les utilisateurs n'aiment pas que les pages mettent du temps à se charger. Un temps de réponse du serveur lent peut être l'une des causes d'un chargement de page long.

Lorsque les utilisateurs accèdent à une URL dans leur navigateur Web, celui-ci envoie une requête réseau pour récupérer ce contenu. Votre serveur reçoit la requête et renvoie le contenu de la page.

Le serveur peut avoir besoin de beaucoup de travail pour renvoyer une page contenant tous les contenus souhaités par les utilisateurs. Par exemple, si les utilisateurs consultent leur historique des commandes, le serveur doit extraire l'historique de chaque utilisateur à partir d'une base de données, puis insérer ce contenu dans la page. Optimiser le serveur pour qu'il effectue ce travail le plus rapidement possible est un moyen de réduire le temps que les utilisateurs passent à attendre le chargement des pages.

Même lorsque le serveur n'a pas besoin d'effectuer beaucoup de travail, la latence réseau entre le client et le serveur peut entraîner des temps de réponse lents.

Améliorer les temps de réponse du serveur

La première étape pour améliorer les temps de réponse du serveur consiste à identifier les tâches conceptuelles de base que votre serveur doit effectuer pour renvoyer le contenu de la page, puis à mesurer la durée de chacune de ces tâches. Une fois que vous avez identifié les tâches les plus longues, recherchez des moyens de les accélérer.

Plusieurs causes peuvent expliquer la lenteur des réponses du serveur, et donc plusieurs solutions sont possibles :

  • Optimisez la logique applicative du serveur pour préparer les pages plus rapidement. Si vous utilisez un framework de serveur, celui-ci peut proposer des recommandations sur la façon de procéder.
  • Optimisez la façon dont votre serveur interroge les bases de données ou migrez vers des systèmes de base de données plus rapides.
  • Mettez à niveau le matériel de votre serveur pour disposer de plus de mémoire ou de processeurs.

Utiliser un CDN pour réduire la latence du réseau Cette méthode est particulièrement efficace si le document peut être mis en cache au niveau du nœud de périphérie du CDN.

Pour en savoir plus, consultez le guide TTC Optimize.

Conseils spécifiques à la pile

Drupal

Déchargez le trafic avec un ou plusieurs modules de mise en cache Drupal tels que Internal Page Cache, Internal Dynamic Page Cache et BigPipe. Associez-les à un CDN pour améliorer encore le temps de réponse. Vos serveurs d'hébergement doivent utiliser PHP OPcache. Envisagez d'utiliser une mise en cache de la mémoire telle que Redis ou Memcached pour réduire la durée des requêtes de base de données. Enfin, utilisez des thèmes, des modules et des serveurs performants pour réduire le temps de réponse du serveur.

Magento

Utilisez l'intégration de Varnish de Magento.

React

Si vous êtes en train d'effectuer un rendu de composants React côté serveur, envisagez d'utiliser renderToNodeStream() ou renderToStaticNodeStream() pour permettre au client de recevoir et d'hydrater différentes parties du balisage au lieu de tout faire simultanément.

WordPress

Choisissez un thème léger (idéalement un thème de bloc) et implémentez le cache de la page entière ou une solution de site statique. Désactivez les plug-ins inutiles afin de réduire la surcharge du serveur.

Envisagez de passer à un service géré ou dédié.

Ressources