Table des matières de l'article :
L'innovation technologique ne s'arrête jamais et un développement récent dans le monde des navigateurs Web promet de révolutionner la façon dont nous interagissons avec Internet. Google Chrome, le navigateur le plus utilisé au monde, a introduit la prise en charge de Zstandard (zstd), un algorithme de compression de données développé par Yann Collet de Meta (anciennement Facebook). Cette décision pourrait marquer une avancée significative dans l’amélioration des vitesses de chargement des pages Web et la réduction de l’utilisation de la bande passante.
Les dernières versions des navigateurs basés sur Chromium prennent désormais en charge la compression Zstandard par défaut. Cela signifie que tous vos sites Web utilisant @caddyserver ou FrankenPHP sont servis à l'aide de ce format de compression de pointe pour les utilisateurs de Chrome, Edge et Opera 🎉. pic.twitter.com/YhWfh1oHw1
– Kévin Dunglas (@dunglas) 15 avril 2024
Qu'est-ce que Zstandard ou ZSTD ?
Zstandard est un algorithme de compression de données sans perte développé à l'origine par Yann Collet alors qu'il travaillait pour Facebook.. Lancé pour la première fois le 31 août 2016, Zstandard a été conçu pour offrir un taux de compression comparable à celui de l'algorithme DEFLATE, utilisé dans les programmes ZIP et gzip originaux de 1991, mais avec une vitesse plus élevée, notamment lors de la décompression. L'algorithme est connu pour sa capacité à s'adapter à différents niveaux de compression, de -7 (le plus rapide) à 22 (le plus lent en compression mais le meilleur en termes de taux de compression).
L'une des caractéristiques distinctives de Zstandard est sa capacité à implémenter une recherche et une déduplication longue distance, similaires à celles proposées par rzip ou lrzip, à partir de la version 1.3.2. De plus, il offre un mode « adaptatif » qui fait varier le niveau de compression en fonction des conditions d'E/S, principalement de la vitesse à laquelle il peut écrire la sortie.
Nous avons déjà discuté de Zstandard dans cet article (ZStandard, la compression Facebook standard qui n'est pas si standard.) étant en effet devenu le moyen standard de compression des sauvegardes dans notre entreprise, ce qui nous permet d'obtenir, par exemple, une économie moyenne de 50% sur le stockage des sauvegardes MySQL.
Implémentation dans Google Chrome
En mars 2024 dernier, Google a ajouté la prise en charge de Zstandard dans Chrome version 123, permettant à cet algorithme d'être utilisé dans l'en-tête HTTP Content-Encoding. Cette implémentation permet une compression de données plus efficace, ce qui se traduit par des pages Web qui se chargent plus rapidement, utilisent moins de bande passante, nécessitent moins de temps, moins de CPU et moins de temps de compression pour les serveurs, réduisant ainsi également les coûts opérationnels.
Malgré le grand enthousiasme qui a accueilli l'introduction de Zstandard, le support au niveau du serveur Web reste actuellement plutôt limité. Ce paysage pourrait bientôt changer avec la sortie de Zstd 1.5.6, une version mise à jour qui introduit non seulement de nouvelles fonctionnalités spécialement conçues pour améliorer la gestion des mises à jour incrémentielles dans les navigateurs, mais étend également la prise en charge à une plus grande variété d'architectures matérielles, telles que SPARC64. , ARM64EC et RISC-V. Ces améliorations visent à stimuler une adoption plus large de Zstandard par les navigateurs et les logiciels en général, augmentant ainsi son applicabilité et son efficacité dans le traitement des données Web.
Il est important de souligner que, dans le paysage technologique actuel, parler de Chrome signifie principalement faire référence à Chromium. Chromium est un projet de navigateur Web open source dont Google Chrome tire son code source. Cette plate-forme constitue non seulement la base de Google Chrome, mais également d'un certain nombre d'autres navigateurs importants. Il s'agit notamment de Microsoft Edge, Opera et Brave, qui sont développés en utilisant le même moteur de rendu que Chromium. En conséquence, l'intégration de Zstandard dans Chromium signifie que cette fonctionnalité de compression sera également adoptée et implémentée dans ces autres navigateurs dans leurs prochaines mises à jour.
Avantages par rapport au Brotli
Avant l'avènement de Zstandard, Brotli était l'un des algorithmes de compression préférés pour la gestion du trafic Web, salué pour son efficacité à réduire la taille des données transmises et à améliorer les temps de chargement des pages Web. Brotli, développé par Google, a été introduit en 2015 et est depuis devenu un standard pour la compression HTTP, en grande partie grâce à sa capacité à atteindre un bon équilibre entre vitesse de compression et taux de compression, ce qui le rend particulièrement utile pour le Web.
Cependant, avec l’introduction de Zstandard, de nouveaux avantages sont apparus qui pourraient faire pencher la balance en sa faveur dans de nombreux scénarios d’utilisation. Zstandard offre une flexibilité nettement supérieure et une vitesse de décompression qui dépasse généralement celle de Brotli, deux facteurs cruciaux pour les performances du Web moderne.
Avantages techniques du Zstandard par rapport au Brotli
- Vitesse de décompression: Zstandard est conçu pour décompresser les données à très haute vitesse, quel que soit le niveau de compression utilisé. Ceci est particulièrement avantageux pour les applications Web qui nécessitent des temps de chargement rapides. Bien que Brotli offre une excellente compression, sa vitesse de décompression peut être jusqu'à trois fois plus lente que Zstandard pour le même taux de compression. Par exemple, des tests de référence montrent que si Zstandard peut décompresser les données à des vitesses supérieures à 1000 400 Mo/s sur du matériel moderne, Brotli est souvent en deçà de XNUMX Mo/s.
- flexibilité: Zstandard prend en charge une très large gamme de niveaux de compression, de très rapide à très puissant. Cela permet aux développeurs de choisir le meilleur équilibre entre vitesse et efficacité en fonction des besoins spécifiques de leur application ou de leur environnement réseau. Brotli, bien que hautement configurable, offre moins de granularité dans les niveaux de compression, ce qui peut limiter son applicabilité dans les scénarios où la personnalisation est essentielle.
- Efficacité dans des conditions de réseau variables: Zstandard fonctionne exceptionnellement bien dans diverses conditions de réseau, conservant son efficacité même lorsque la bande passante est limitée ou que la latence est élevée. Cela le rend idéal pour les environnements mobiles ou pour les utilisateurs accédant au contenu Web depuis des régions dotées d'infrastructures réseau moins développées.
- Adaptabilité et technologies de support: Zstandard inclut des fonctionnalités telles que la compression de dictionnaire et un mode de formation qui peuvent encore améliorer le taux de compression pour des ensembles de données spécifiques. Cela peut être particulièrement utile pour les applications telles que les bases de données, les journaux système et les transferts de fichiers qui comportent de nombreuses redondances. Brotli prend également en charge la compression basée sur un dictionnaire, mais la technologie de formation de Zstandard est plus avancée, offrant de meilleures performances, en particulier avec des fichiers de petite taille.
Impact sur les services d'hébergement et les systèmes existants
L'introduction de Zstandard en tant qu'algorithme de compression pris en charge par Chrome présente une opportunité importante pour les ingénieurs système et les fournisseurs d'hébergement. Ces professionnels doivent désormais évaluer comment leurs systèmes peuvent être optimisés pour tirer le meilleur parti des capacités de Zstandard, tout en assurant la compatibilité avec les navigateurs qui ne supportent pas encore cet algorithme.
L'un des aspects cruciaux concerne la mise à jour des serveurs pour prendre en charge le nouvel encodage. Cette étape peut nécessiter des investissements initiaux en temps et en ressources, mais elle est essentielle au maintien de la compétitivité sur le marché de l'hébergement. Grâce aux vitesses de décompression accrues et à la flexibilité offertes par Zstandard, les services d'hébergement qui adoptent cette technologie dès le début peuvent offrir des expériences utilisateur considérablement améliorées, ce qui se traduit par des temps de chargement de pages plus rapides et une utilisation plus efficace de la bande passante.
De plus, les services d'hébergement visant à se positionner comme leaders dans l'industrie des performances Web devront inévitablement prendre en charge la compression Zstandard en plus de Brotli. Il ne s’agit pas seulement d’offrir une nouvelle technologie mais de devenir un élément distinctif de supériorité technique et de capacité à s’adapter aux besoins modernes de rapidité et d’efficacité de l’Internet.
En ce qui concerne notre entreprise, qui a toujours été axée sur la recherche et le développement, en attendant la production stable de Chrome et des navigateurs développés sur Chromium, nous avons décidé dans notre Roadmap de livrer d'ici septembre 2024, l'ensemble de notre pile logicielle Web est compatible ZSTD, de NGINX jusqu'à Varnish, garantissant un temps de test optimal sur ces 4 mois, ainsi que les benchmarks pertinents, afin de proposer, comme toujours, le meilleur hébergement de niveau entreprise aussi bien pour l'hébergement générique que pour l'hébergement spécifique comme l'hébergement WordPress par exemple.