Pourquoi un SSD NVMe ralentit-il lors de sauvegardes de petits fichiers, mais pas lors d’une seule copie locale volumineuse ?

Eva Wong est la rédactrice technique et bricoleuse résidente chez ZimaSpace. Geek depuis toujours, passionnée par les homelabs et les logiciels open source, elle se spécialise dans la traduction de concepts techniques complexes en guides accessibles et pratiques. Eva croit que l’auto-hébergement doit être amusant, pas intimidant. À travers ses tutoriels, elle donne à la communauté les moyens de démystifier les configurations matérielles, depuis la construction de leur premier NAS jusqu’à la maîtrise des conteneurs Docker.

Un SSD NVMe peut ralentir lors des sauvegardes de petits fichiers, car les métadonnées, les écritures aléatoires, les barrières de synchronisation et le travail du processeur créent un goulot d’étranglement différent de celui d’une copie d’un seul fichier volumineux.

Le terme « bridage » est souvent utilisé pour désigner toute baisse de vitesse, mais le bridage thermique n’est qu’une possibilité parmi d’autres. Les sauvegardes de petits fichiers créent et mettent à jour de façon répétée les entrées de répertoire, les horodatages et les permissions, ouvrent et ferment les fichiers, calculent des sommes de contrôle, compressent ou chiffrent les données et valident les métadonnées. Le NVMe peut afficher un débit inférieur en Mo/s tout en traitant davantage d’opérations par seconde, avec une latence plus élevée. Comparez des charges locales de taille équivalente avant de modifier le refroidissement ou de remplacer le disque.

Prouvez la différence avec des tests locaux de taille équivalente

Créez un fichier volumineux et une arborescence de petits fichiers contenant la même quantité totale de données. Copiez chacun localement vers la même destination NVMe en enregistrant le temps écoulé, les IOPS, la latence, l’utilisation du processeur et la température.

Fio définit des modes d’E/S séquentielles et aléatoires distincts, ce qui permet d’isoler la forme de la charge au lieu de comparer des exécutions de sauvegarde sans rapport.

Si la copie locale volumineuse reste rapide tandis que la création de petits fichiers ralentit, la liaison PCIe et le chemin NAND séquentiel sont probablement disponibles. Poursuivez l’analyse des métadonnées, de la latence de file, du cache, du processeur et de la chaleur.

Mesurez les opérations sur les métadonnées, pas seulement les Mo/s

Suivez le nombre de fichiers par seconde, les créations, fermetures, renommages, mises à jour de répertoires, écritures d’ACL, attributs étendus et opérations de synchronisation. Comparez ces valeurs au débit des données.

Red Hat décrit le stockage de petits fichiers comme intensif en métadonnées, ce qui explique pourquoi des milliers de petits fichiers peuvent produire un faible débit en Mo/s sans atteindre la limite de bande passante séquentielle du NVMe.

Une sauvegarde peut donc être active et saine tout en affichant un débit d’octets décevant. Évaluez-la en fonction du nombre de fichiers terminés, de la latence et des besoins de restauration, ainsi que du débit.

Vérifiez si le nettoyage du cache augmente la latence d’écriture

Enregistrez l’espace libre, le nombre d’octets écrits, la latence soutenue et vérifiez si les performances s’améliorent après une période d’inactivité. Comparez une zone de test fraîchement soumise à la commande TRIM avec la destination de sauvegarde habituelle uniquement lorsque cela est sûr.

Crucial explique que la collecte automatique des déchets peut affecter la vitesse d’un SSD, notamment lorsque le périphérique dispose de peu de temps d’inactivité ou d’espace réutilisable.

Les petites écritures aléatoires peuvent nécessiter davantage de déplacements internes qu’un seul flux séquentiel. Conservez une marge d’espace libre et ne supposez pas que le débit séquentiel annoncé s’applique aux petites écritures en régime permanent.

-15% OFF

Examinez la latence des files et la saturation du périphérique

Relevez la latence moyenne des requêtes, la profondeur de file, l’utilisation, les débits de lecture et d’écriture, ainsi que le temps d’attente d’E/S du processeur pendant les deux tests. Recherchez une latence élevée avec un débit modeste en Mo/s.

Le rapport iostat permet de voir quand le périphérique est saturé par de nombreuses petites requêtes, même si le débit global reste largement inférieur aux spécifications séquentielles.

Augmenter la concurrence des sauvegardes peut améliorer les performances d’un périphérique peu sollicité, mais aggraver celles d’une file déjà saturée. Modifiez un seul paramètre de worker ou de file à la fois.

Distinguez les enregistrements du système de fichiers des données des fichiers

Identifiez les systèmes de fichiers source et destination, ainsi que les métadonnées conservées par chaque sauvegarde. Sur NTFS, relevez la croissance de la MFT et vérifiez si les descripteurs de sécurité, les flux alternatifs et les horodatages sont copiés.

Microsoft indique que la MFT contient au moins un enregistrement par fichier, ce qui illustre pourquoi de nombreux petits fichiers génèrent beaucoup plus de travail d’enregistrement dans le système de fichiers qu’un seul fichier de même taille totale.

Si la sauvegarde conserve les ACL, les xattrs, les plages éparses ou les sommes de contrôle, incluez ce travail dans la comparaison. Désactiver les fonctions d’intégrité uniquement pour améliorer un benchmark peut fragiliser la sauvegarde.

Vérifiez le véritable bridage thermique au lieu de le supposer

Consignez la température composite du NVMe, la durée des avertissements thermiques, le temps d’occupation du contrôleur et les performances avant et après l’amélioration du refroidissement. Répétez le test avec une circulation d’air stable et le même ensemble de petits fichiers.

Kingston explique que le bridage thermique réduit les performances jusqu’à ce que le SSD retrouve une température sûre.

Si le débit baisse sans atteindre un seuil de température ni déclencher d’avertissement thermique, parlez plutôt d’un goulot d’étranglement lié à la charge que de bridage thermique. Le refroidissement ne résoudra ni la sérialisation des métadonnées ni le calcul de sommes de contrôle limité par le processeur.

Optimisez la couche de sauvegarde réellement saturée

Testez une modification modérée, comme la réduction du nombre de workers de somme de contrôle, l’ajout d’un worker de copie, le regroupement des métadonnées, l’utilisation d’un manifeste local ou l’exclusion des caches régénérables. Préservez les métadonnées essentielles à la restauration.

L’article de ZimaSpace consacré aux tests de copie SMB de petits fichiers traite des copies réseau ; cet article isole le NVMe local et le pipeline de sauvegarde lorsque la copie locale volumineuse reste rapide.

Le diagnostic est terminé lorsque le ralentissement correspond au débit des métadonnées, à la latence des écritures aléatoires, au nettoyage du cache, au travail du processeur ou à un bridage thermique vérifié, et qu’une modification ciblée améliore le même test contrôlé de petits fichiers.

Assistance et conseils

Plus à lire

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.