Pourquoi le débit d’un NAS diminue-t-il lorsqu’un indexeur d’IA analyse des millions de petits fichiers ?

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.

Le débit d'un NAS diminue lors de l'indexation de petits fichiers, car les coûts fixes liés aux métadonnées et aux ouvertures-fermetures prédominent avant que le stockage puisse atteindre des taux de transfert séquentiel efficaces.

Un indexeur qui analyse un téraoctet réparti dans quelques grandes archives peut diffuser les données en continu, mais ces mêmes octets répartis entre des millions de documents nécessitent des millions de recherches. Chaque chemin peut déclencher un parcours de répertoires, des vérifications d'autorisations, la lecture d'attributs, des ouvertures, de minuscules lectures, des fermetures, le calcul de hachages et des écritures dans l'index. La charge devient limitée par le nombre d'opérations par seconde et la latence, plutôt que par la seule bande passante.

Chaque fichier ajoute une charge qui n'évolue pas avec sa taille

Avant de lire le contenu, le client et le NAS résolvent un chemin, inspectent les métadonnées, appliquent les autorisations et ouvrent une poignée. Ces opérations fixes coûtent presque autant pour une note de deux kilo-octets que pour une longue vidéo ; le nombre d'octets utiles par requête s'effondre donc lorsque la taille moyenne des fichiers diminue.

Les travaux de TableFS sur les charges dominées par les métadonnées ont été conçus pour les charges composées principalement de métadonnées et de petits fichiers. Ils montrent que les systèmes de fichiers locaux conventionnels peuvent être limités par les opérations sur l'espace de noms, même lorsque le stockage sous-jacent peut transférer les données beaucoup plus rapidement.

Un système de fichiers réseau ajoute des échanges de protocole ainsi que des verrouillages côté serveur ou la validation du cache. Le parallélisme peut masquer une partie de la latence, mais un nombre excessif de workers allonge les files d'attente, évince les métadonnées utiles du cache et oblige les requêtes NAS interactives à attendre derrière l'énumération en masse.

Les grands répertoires et les accès aléatoires détruisent l'efficacité séquentielle

Des millions d'entrées font croître les index de répertoires et les ensembles de travail des inodes au-delà de la capacité du cache. L'analyse saute entre des blocs de métadonnées et de petites extensions, ce qui réduit l'efficacité de la lecture anticipée et impose des recherches sur disque dur ou des requêtes dispersées sur SSD, au lieu de longs transferts séquentiels.

Les recherches sur les répertoires de fichiers évolutifs étudient des répertoires contenant des millions, voire des milliards de petits fichiers, et répartissent la croissance des métadonnées entre plusieurs partitions. Leur conception montre que l'évolutivité de l'espace de noms est un problème distinct de la bande passante brute du périphérique. Cette distinction reste visible lors des tests domestiques ultérieurs.

Le pipeline d'IA ajoute un autre flux aléatoire lorsqu'il écrit des hachages, du texte OCR, des miniatures ou des enregistrements dans une base de données vectorielle. Les files de lecture et d'écriture se concurrencent, et les validations synchrones de la base de données peuvent interrompre l'ingestion, même lorsque les disques affichent encore une bande passante séquentielle maximale inutilisée.

Le renouvellement du cache propage le ralentissement aux autres utilisateurs du NAS

Les entrées de répertoires, les attributs, les données de fichiers, les pages de modèles et les tampons d'index se disputent la mémoire vive. Une analyse étendue peut remplacer du cache contenant des fichiers domestiques fréquemment utilisés, tandis que l'antivirus, la génération de miniatures ou le calcul de sommes de contrôle répètent les lectures déclenchées par les mêmes nouveaux événements d'accès.

Une analyse de la surcharge liée aux petits fichiers explique comment de grandes populations d'objets de moins de 64 Ko génèrent une surcharge de métadonnées et de requêtes que les mesures de débit global masquent. Regrouper le travail modifie le rapport entre la charge utile et le traitement par objet. Le résultat intermédiaire doit rester vérifiable avant de poursuivre l'automatisation.

La limite critique consiste à supposer que le nombre de fichiers suffit à déterminer les performances. Un cache de métadonnées SSD chaud, une archive regroupée, une base de données d'index locale et un protocole traité par lots peuvent gérer davantage de fichiers qu'un disque dur froid via SMB à forte latence. Mesurez les opérations et la mise en file d'attente avec la disposition réelle.

-15% OFF

Mesurez séparément les fichiers par seconde et les mégaoctets par seconde

Créez des jeux de données ayant le même nombre total d'octets, mais une taille médiane de fichier de 4 Ko, 64 Ko, 1 Mo et 64 Mo, ainsi que des répertoires peu profonds et profondément imbriqués. Relevez le nombre de fichiers par seconde, les opérations sur les métadonnées, les allers-retours réseau, les IOPS, la latence des files d'attente, les défauts de cache, les écritures d'index et la latence NAS interactive.

Utilisez la séparation des goulots d'étranglement comme cadre d'analyse, en répétant les tests avec un, quatre et seize workers d'indexation, puis avec le traitement par lots du contenu et la base de données d'index sur un autre périphérique. Documentez explicitement l'ensemble de fichiers et l'état du cache.

Choisissez le niveau de concurrence auquel le nombre de fichiers par seconde cesse de progresser ou auquel la latence p95 interactive dépasse sa limite. Si les métadonnées prédominent, réduisez les appels répétés aux attributs et traitez le travail par lots ; si les lectures de contenu dominent, optimisez la disposition du stockage au lieu de considérer la bande passante séquentielle comme la capacité manquante.

Centre Tech & IA

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.