backend-web-performance

Dans le volet précédent de notre dossier, nous vous expliquions pourquoi le Back-end compte autant que le Front-end pour que les pages de votre site se chargent rapidement. Mais en pratique, comment faire ? A quoi devez-vous penser ? Devez-vous vous en charger en interne ou externaliser ces opérations ? Voici quelques pistes recommandées par Mikaël Robert, SRE chez Fasterize.

Compressez vos fichiers

Favorisez l’accélération des transferts du serveur au client en compressant vos fichiers au format Brotli ou Gzip (Fasterize le fait automatiquement). Faute de ressources ou d’expertise, beaucoup de sites font malheureusement l’impasse sur cette technique qui permet pourtant de rendre le chargement des pages plus rapide.

Ne mettez pas tous vos œufs dans le même panier, virtualisez et faites du tuning réseau 

Vous pensiez peut-être que déployer tous vos services (système de cache, serveur web, applicatif, base de données…) sur une seule machine vous permet de faire des économies ? C’est une erreur. Si l’un des services se met à monopoliser toutes les ressources, les autres services seront alors dégradés.

Ainsi, mieux vaut répartir les tâches pour éviter que les ressources matérielles de vos services ne se phagocytent entre elles. Pour cela, isolez les ressources de vos serveurs en essayant de dédier une VM ou un conteneur à un service, et limitez les ressources mobilisables par ces mêmes VMs ou conteneurs. 

L’un des avantages de cette technique est qu’il vous sera plus facile d’optimiser une machine qui ne rend qu’un seul service, mais qui le rend bien. 

Conteneurs ou VM, ces systèmes permettent par ailleurs de faire de l’auto-scaling. L’auto-scaling peut être fastidieux à mettre en place (notamment parce qu’il faut aussi le prévoir dans l’applicatif), mais il permet aussi de faire des économies conséquentes. Grâce à cette technique, les hébergeurs ajoutent et suppriment des serveurs en fonction de la charge réelle au lieu de toujours dimensionner l’infrastructure à sa taille maximale correspondant aux forts pics de charge. Vous ne payez donc que ce que vous consommez.
Toutefois, cela requiert d’utiliser une infrastructure de type Cloud ou de mettre en place la vôtre.

Testez en conditions réelles

Pour réaliser des tests de charge - ce que nous vous recommandons chaudement pour préparer les temps forts comme les soldes ou le Black Friday - veillez à reproduire le parcours réel d’un.e internaute au lieu de “mitrailler” la même requête en boucle par le.a même utilisateur.rice. 

Bon à savoir : si vous passez par un CDN, sachez que les timeout sont généralement réglés sur 60 secondes. Autrement dit, si au cours d’un pic de charge le CDN met plus de 60 secondes à interroger l’origine de votre site, il retournera un message d’erreur, et vos client.e.s risquent de s’en aller pensant que le site ne fonctionne pas.
A moins de pouvoir mettre en cache toutes vos données côté CDN, vous avez donc tout intérêt à ce que votre origine réponde rapidement en toutes circonstances, sinon, comme nous venons de le voir, le CDN risque de couper les connexions.

Optimisez votre couche de sécurité

La sécurité est incontournable, mais un WAF (ou firewall applicatif, côté serveur) mal configuré ou mal optimisé peut ralentir le temps de réponse. Alors, pour ne pas tomber dans le piège du site optimisé mais ralenti par la sécurité, implémentez au mieux cette couche indispensable et ne vous aventurez pas sur ce terrain sans connaissances. 

Restez à jour

Utilisez des langages et des frameworks à jour. Plus vous tardez à faire les mises à jour, plus vous accumulez de la dette technique. Avec des versions datées, vous prenez aussi le risque de dégrader vos performances et de laisser traîner des failles de sécurité qui ne seront pas corrigées. 

Limitez les allers-retours client-serveur

Evitez d’envoyer systématiquement toutes les données au navigateur. Par exemple sur une page produit pour un site e-commerce, n’envoyez que les informations utiles à l’instant T. Concrètement, le navigateur n’a pas besoin de charger toutes les couleurs de tous les produits, mais seulement celles utiles pour l’article consulté. Les données que le serveur doit faire transiter sont ainsi limitées à l’essentiel.

Restez simples

Utilisez un serveur web approprié par rapport à vos besoins. Le marché est vaste, certains sont faciles à implémenter mais peu performants, d’autres sont plus complexes mais ont des temps de réponse beaucoup plus courts. Nous en revenons au point budget évoqué dans notre premier volet : prenez garde aux économies qui peuvent parfois coûter cher.

Veillez aussi à la configuration de votre serveur : évitez de multiplier les conditions. Plus votre configuration est simple, plus elle est rapide à exécuter, et donc efficace pour votre webperf.

Evitez aussi de surcharger votre serveur web avec des modules/plugins inutiles, ne gardez que le minimum nécessaire.

En conclusion de ce dossier, vous avez à disposition de nombreux leviers pour gérer efficacement votre Back-end afin d'améliorer la vitesse de votre site. Plutôt que de gérer la totalité de votre infrastructure manuellement, automatisez et déléguez quand c’est nécessaire.

Si certaines grandes structures ont la capacité à internaliser car elles ont les moyens et l’expertise au sein de leurs équipes, dans la plupart des cas, mieux vaut sous-traiter et se faire accompagner par des expert.e.s.

Vous souhaitez rester informé.e des bonnes pratiques, astuces et techniques pour accélérer votre site web ?
Abonnez-vous à notre newsletter mensuelle :


Je m'abonne !


Hello SMX Paris !