Je serais curieux de connaître le rapport moyen entre les données compressibles et les données déjà compressées dans une sauvegarde Discourse[^1], et quelle quantité de données (en %) serait économisée en utilisant zstd.
[^1] Bien sûr, certains forums dépendent beaucoup des téléchargements d’images, et d’autres n’autorisent même pas les téléchargements de fichiers.
Ce n’est pas la même demande de fonctionnalité, mais elle concerne également la compression des sauvegardes, je poste donc ceci en parallèle :
Je ne serais pas surpris si le pourcentage était à peu près le même sur tous mes forums Discourse.
Occasionnellement, le processus de sauvegarde nous pose des problèmes de disponibilité en raison de la charge supplémentaire. J’ai donc effectué un petit test avec zstd aujourd’hui.
Voici mes résultats pour la compression du même fichier dump.sql de 73 Go avec gzip (niveau 4, comme dans la sauvegarde Discourse) et zstd (niveau par défaut 3, sur une échelle de 19) :
Taille de compression : 15,8 % plus petite (.zst représente 84 % de la taille de .gz)
Temps de compression (-T1) : 71 % plus rapide (29 % du temps de gzip)
Temps de compression (-T0) : 89 % plus rapide (11 % du temps de gzip)
Les résultats peuvent varier ; je n’ai pas répété les tests plusieurs fois. Ma propre machine (6 cœurs) effectuait d’autres tâches, etc., etc. — je n’ai pas cherché la précision. Néanmoins, je pense que les avantages sont clairs.
Je ne suis pas certain que l’option -T0 convienne nécessairement à tous, car il semble judicieux de laisser une marge de manœuvre pour Discourse lui-même, d’où l’exemple avec -T1 pour une comparaison plus équitable.
Cela ressemble à une situation gagnant-gagnant et aurait probablement un impact significatif sur l’infrastructure d’hébergement de Discourse également. Cela dit, je n’ai pas les compétences nécessaires pour créer une PR, je partage donc simplement ce que j’ai découvert.