Wednesday, November 4, 2026
Home » Test de performance du moteur de stockage ARTESCA

Test de performance du moteur de stockage ARTESCA

Nous souhaitons partager les premiers résultats, prometteurs, des tests de performance de notre logiciel de stockage objet ARTESCA. Les chiffres ci-dessous sont issus de tests de la couche de services de stockage d’ARTESCA (le moteur d’E/S de stockage) réalisés dans un laboratoire Intel. La performance a toujours été un objectif de conception de nos produits, et elle compte désormais encore plus, car nos clients et partenaires applicatifs adoptent le stockage objet S3 de façons nouvelles et variées qui exigent une évolution des performances. Avec ARTESCA, nous nous engageons à proposer des solutions qui répondent aux besoins en rapide évolution de cet écosystème.

Beaucoup de nos lecteurs connaissent déjà les caractéristiques des produits classiques de stockage objet. On considère généralement que le stockage objet est très performant pour les gros fichiers, avec un débit continu pour les images, la vidéo et les volumineuses données de sauvegarde. Pour ce type de charges de travail, le débit évolutif est l’indicateur clé, et certains systèmes de stockage objet atteignent sans peine des dizaines de Go/s, voire plus.

À l’inverse, pour les petits fichiers, le stockage objet a la réputation d’offrir un débit transactionnel (opérations par seconde) assez faible et des latences peu performantes. Ces indicateurs deviennent pourtant bien plus pertinents, car les charges de travail et les jeux de données concernés par le stockage objet sont de plus en plus variés et exigeants : IA et machine learning, IoT, data lakes et analytique, et une avalanche imprévisible d’applications en edge. Les nouvelles applications devront créer et consommer des fichiers de quelques dizaines à quelques centaines d’octets (pensez aux flux d’événements IoT) comme des fichiers médias de plusieurs gigaoctets. Notez que notre produit RING offre déjà de très bonnes performances sur des charges exigeantes comme la messagerie à l’échelle du web, où les données ne pèsent souvent que quelques centaines d’octets. 

Cette nouvelle ère sera donc marquée par des charges de travail aux exigences de performances très variées. En outre, les nouvelles applications auront besoin :

  • d’un stockage objet moderne compatible Amazon S3 : une prise en charge complète de l’API S3, y compris ses fonctionnalités avancées ;
  • de hautes performances sur tous les plans : un accès à très faible latence aux petits fichiers, un nombre élevé (et évolutif) d’opérations par seconde, tout en conservant un débit élevé pour les gros fichiers ;
  • d’un stockage ultra-durable, fiable et digne de confiance : la solution doit être conçue jusqu’à la couche bas niveau des services de stockage pour protéger les données et les garder disponibles face aux diverses menaces de perte ou d’atteinte à leur intégrité.

Ce dernier point est essentiel. Il est bien plus facile de créer un stockage objet rapide si l’on peut assouplir l’une de ces contraintes. Chaque fois qu’un système de stockage a moins de travail à faire, il affiche de meilleurs résultats aux benchmarks. C’est particulièrement vrai pour certains systèmes de stockage objet qui se contentent d’être une interface S3 légère — au détriment de la gestion des disques et de la protection des données.

C’est là qu’entre en scène Scality ARTESCA, conçu non seulement pour offrir un stockage objet léger, mais aussi pour le faire sans compromis sur ces deux derniers points.

Tester la latence et la bande passante des services de stockage ARTESCA

Avant d’entrer dans la technique, voyons les résultats annoncés des tests de notre moteur de stockage. Notre objectif était de soumettre le moteur de stockage à des charges exigeantes de petits fichiers et d’observer ses performances sur des disques flash NVMe, avec des SSD servant de cache d’écriture. Tous les tests ont été réalisés sur trois hôtes (serveurs de stockage) reliés par des interfaces réseau 25GbE à un commutateur. Nous avons mesuré les latences de lecture, d’écriture et de suppression pour de petites tailles de fichiers (4 Ko, 32 Ko et 64 Ko). Pour bien comprendre les résultats, il faut savoir que nous avons mesuré la durée de chaque opération complète (jusqu’au dernier octet du fichier). 

Remarque : la configuration des serveurs est détaillée plus loin dans cet article.

Venons-en directement aux chiffres. En bref, le moteur de stockage atteint des latences inférieures à 1 milliseconde sur les petits fichiers (4 Ko) sur des serveurs dotés de SSD comme cache d’écriture et de flash NVMe pour le stockage des données (là encore, mesurées pour l’opération complète jusqu’au dernier octet du fichier) :

  • 0,28 milliseconde (ms) de latence en lecture avec des fichiers de 4 Ko ;
  • 0,61 milliseconde (ms) de latence en écriture avec des fichiers de 4 Ko ; 
  • Des latences inférieures à 1 ms en lecture/écriture sont maintenues avec des fichiers de 32 Ko (0,34 et 0,67 ms respectivement) et de 64 Ko (0,36 et 0,74 ms respectivement) ;
  • Ces chiffres sont obtenus avec tous les mécanismes de protection des données activés (erasure coding à deux niveaux, décrit dans la section suivante).

Comme indiqué plus haut, ces résultats sont très prometteurs : ils montrent que le lourd travail du moteur de stockage pour protéger les données peut coexister avec des latences inférieures à la milliseconde sur ces serveurs flash modernes. Cela s’inscrit dans une conception globale visant à accélérer le stockage objet ; dans un prochain article, nous examinerons les performances sur les gros fichiers et sur l’ensemble de la pile. Dans la section suivante, nous décrivons les mécanismes qui assurent cette protection durable des données.

La durabilité des données dans ARTESCA

En concevant le moteur de stockage, nous avions 3 objectifs clés :

  • une durabilité des données inégalée et des reconstructions accélérées ;
  • exploiter la flash haute densité (NVMe, QLC et supports futurs) en préservant la fiabilité des supports (y compris avec l’augmentation future des densités) ;
  • une architecture définie par logiciel pour préserver la liberté de choix des clients en matière de plateformes.

Les services de stockage d’ARTESCA mettent en œuvre les mécanismes suivants pour stocker efficacement et protéger les données sur des serveurs de stockage haute densité :

  • erasure coding (EC) à deux niveaux : une combinaison de codes d’effacement réseau (distribués) et de codes de parité locaux au sein d’un serveur. Cela protège contre les pannes et accélère les réparations locales (hors réseau) en cas de panne de disque, ce qui renforce la durabilité, surtout sur les disques de grande capacité. Les schémas sont configurables pour plus de flexibilité et s’adaptent en cas de panne de disque.
  • Réplication des données : plusieurs copies des objets sont stockées sur différents disques et machines. C’est la solution optimale en efficacité de stockage et en performances pour les petits objets.
  • Garantie de l’intégrité des données : des sommes de contrôle sont stockées au niveau des extents et des objets, avec une analyse continue en arrière-plan (disk scrubbing) et une validation des sommes de contrôle à la lecture. L’objectif est d’éliminer la corruption des données due aux erreurs de disque (« bit rot »).
  • Détection des pannes et autoréparation automatisée (réparation/reconstruction) : en cas de panne de disque, le moteur de stockage peut déplacer les blocs touchés (ou manquants) vers d’autres espaces de stockage disponibles, et ce sur plusieurs disques en parallèle. 

Dans un cluster ARTESCA multiserveur, ce schéma d’EC à deux niveaux offre des niveaux très élevés de tolérance aux pannes de disques et de durabilité. Prenons un exemple concret : 

Supposons six serveurs de stockage modernes, avec 24 disques par serveur. Pour la durabilité des données, le système a été configuré avec des codes d’effacement à deux niveaux : 16+4 (EC local données+parité) et 4+2 (EC réseau données+parité). Concrètement, chaque serveur protège les données par une parité locale, et le système répartit aussi les données sur le cluster en bandes de données et de parité distribuées. Ces politiques de durabilité sont flexibles et peuvent être configurées selon les besoins, pour plus de durabilité ou une meilleure efficacité d’espace.

Voici les pannes tolérées par ce système sans perte de données ni de disponibilité du service:

  • EC local sur chaque serveur : 4 disques par serveur peuvent tomber en panne ;
  • PLUS, avec l’EC réseau : 2 serveurs complets peuvent tomber en panne simultanément (48 disques) ;
  • Le calcul est donc le suivant : 2 serveurs peuvent tomber entièrement en panne (48 disques), et les 4 serveurs restants peuvent perdre 4 disques chacun (16 disques), soit 64 disques perdus au total.

Dans cette configuration, le système maintient la disponibilité et la protection des données même avec 44 % des disques en panne. Résultat : une durabilité massive, avec une protection contre les pannes 10 fois supérieure à celle de l’erasure coding distribué classique, tout en maintenant la protection des données. 

La technologie : dans les coulisses des services de stockage ARTESCA

Regardons sous le capot du moteur de stockage pour comprendre comment ARTESCA allie durabilité et hautes performances.  

ARTESCA utilise des extents de taille fixe pour stocker les données des objets, ce qui apporte à lui seul plusieurs avantages : cela évite la sur-allocation d’inodes du système de fichiers, améliore l’évolutivité et aide à éviter la fragmentation. Les petits objets prennent place dans l’espace disponible de l’extent ouvert (les fichiers plus gros peuvent être découpés et répartis sur plusieurs extents). Au fur et à mesure de leur stockage, les objets se voient attribuer de l’espace dans l’extent ouvert et sont écrits séquentiellement dans l’espace disponible. Une fois l’extent fermé, le moteur calcule la parité (codes de parité locaux, décrits plus haut) sur chaque serveur et la stocke avec une somme de contrôle au niveau de l’extent. À mesure que les extents se remplissent, ils sont fermés — et de nouveaux extents sont alloués. 

Cela permet aussi d’optimiser la flash haute densité, car le schéma de stockage en extents fixes correspond naturellement aux modèles d’E/S des supports flash. Les extents sont d’abord stockés en toute sécurité sur un support flash rapide (des SSD servaient de tampon d’écriture dans notre test), puis, une fois remplis, le système peut transférer ces extents verrouillés (remplis et protégés par erasure coding) vers le support permanent à long terme (flash NVMe ou QLC). Autre effet : les E/S sur le support à long terme sont réduites au minimum, ce qui préserve les cycles de programmation/effacement (P/E) des équipements flash haute densité.

La configuration de test

Voici plus de détails sur la configuration utilisée pour le test en laboratoire décrit plus haut. Nous avons utilisé trois serveurs de stockage Intel modernes à 24 disques, configurés chacun comme suit :

  • processeur Intel Xeon-Gold 6226R (2,9 GHz/16 cœurs/150 W) 
  • 128GB (1 x 128GB) quad rank x4 DDR4-2933 
  • 1 x HPE Write Intensive – SSD – 750 GB – PCIe x4 (NVMe)
  • 1 NVMe de 750 Go (disque OS/système)
  • 6 NVMe de 3,84 To (SSD SFF NVMe Gen4, performances standard)
  • adaptateur Ethernet 10/25 Gb à 2 ports

Notez que ces résultats ont été obtenus sur des serveurs partiellement équipés en disques : davantage de disques amélioreraient encore les performances pour les charges intensives en E/S.