Table des matières de l'article :
L'innovation technologique est un processus continu, et une récente évolution des navigateurs web promet de révolutionner notre interaction avec Internet. Google Chrome, le navigateur le plus utilisé au monde, prend désormais en charge Zstandard (zstd) , un algorithme de compression de données développé par Yann Collet de Meta (anciennement Facebook). Cette avancée pourrait constituer un progrès significatif pour améliorer la vitesse de chargement des pages web et réduire la consommation de bande passante.
Qu'est-ce que Zstandard ou ZSTD ?
Zstandard est un algorithme de compression de données sans perte, initialement développé par Yann Collet lorsqu'il travaillait pour Facebook . Lancé 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 supérieure, notamment lors de la décompression. Cet algorithme est reconnu pour sa capacité d'adaptation à différents niveaux de compression, de -7 (le plus rapide) à 22 (le plus lent en compression, mais offrant le meilleur 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à évoqué Zstandard dans cet article ( ZStandard, la compression standard de Facebook qui n'est pas si standard ), car elle est en fait devenue la méthode standard de compression des sauvegardes dans notre entreprise, nous permettant d'obtenir, par exemple, une économie moyenne de 50 % sur le stockage des sauvegardes MySQL.
Implémentation dans Google Chrome
En mars 2024, Google a intégré la prise en charge de Zstandard dans Chrome version 123 , permettant ainsi l'utilisation de cet algorithme dans l'en-tête HTTP Content-Encoding. Cette implémentation assure une compression des données plus efficace, ce qui se traduit par des pages web plus rapides à charger, une consommation de bande passante réduite, une moindre sollicitation du processeur et un temps de compression plus court sur les serveurs, contribuant ainsi à la réduction des coûts d'exploitation.
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 noter que, dans le contexte technologique actuel, parler de Chrome revient principalement à faire référence à Chromium. Chromium est un projet de navigateur web open source dont Google Chrome s'inspire. Cette plateforme sert de base non seulement à Google Chrome, mais aussi à plusieurs autres navigateurs majeurs, tels que Microsoft Edge, Opera et Brave, développés avec le même moteur de rendu Chromium. Par conséquent, l'intégration de Zstandard à Chromium signifie que cette fonctionnalité de compression sera également adoptée et implémentée dans ces autres navigateurs lors de leurs futures 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.
Un aspect crucial est la mise à niveau 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 pour rester compétitif sur le marché de l'hébergement. Grâce à la vitesse de décompression accrue et à la flexibilité offertes par Zstandard, les services d'hébergement qui adoptent rapidement cette technologie peuvent proposer une expérience utilisateur nettement améliorée, avec des temps de chargement des 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, toujours axée sur la recherche et le développement, et en attendant la sortie stable de Chrome et des navigateurs développés sur Chromium, nous avons décidé dans notre feuille de route de rendre l' ensemble de notre pile logicielle web compatible avec ZSTD d'ici septembre 2024, de NGINX à Varnish , garantissant ainsi un temps de test optimal pendant ces 4 mois, ainsi que les benchmarks associés, afin de pouvoir offrir, comme toujours, le meilleur hébergement de niveau entreprise, tant pour l'hébergement générique que pour l'hébergement spécifique tel que l'hébergement WordPress.