Je dois stocker environ 600 000 images sur un serveur Web utilisant NTFS. Suis-je préférable de stocker des images dans des morceaux de 20 000 images dans des sous-dossiers? (Windows Server 2008) P>
Je suis préoccupé par l'entraînement des frais généraux du système d'exploitation lors de la récupération d'image p>
3 Réponses :
Les dossiers NTFS stockent un fichier d'index avec des liens vers tous ses contenus. Avec une grande quantité d'images, ce fichier va augmenter beaucoup et avoir une incidence sur votre performance négativement. Donc, oui, sur cet argument seul, vous ferez mieux de stocker des morceaux dans les sous-dossiers. Fragments à l'intérieur des index sont une douleur. P>
Pendant que vous pourriez avoir raison, est-ce basé sur tout ce que l'hypothèse? Nous avons des dossiers avec des fichiers 450K, il n'y a pas de problèmes jusqu'à présent - bien que je pense que je pense les naviguer, même dans un gestionnaire de fichiers ne serait pas rapide.
En fait, ce n'est pas une hypothèse (expérience avec diverses implémentations de NTFS et surtout ses limitations). C'est une erreur de conception. Ma réponse était de clarifier si cela affecterait les performances (oui), pas si cela donnerait des "problèmes" tels que l'échec. Le fichier d'index n'est pas un fichier intelligent. Si cela pousse, vous obtenez plus de maintenance de récupérer les fragments. Et je me cite moi-même: les fragments à l'intérieur des index sont une douleur.
aller pour cela. Tant que vous avez un index externe et avez un chemin de fichier direct vers chaque fichier J'ai un dossier avec une taille supérieure à 500 Go avec plus de 4 millions de dossiers (qui ont plus de dossiers et de fichiers). J'ai quelque part dans l'ordre de 10 millions de fichiers au total. P>
Si j'ouvre accidentellement ce dossier dans l'explorateur Windows, il est resté coincé à 100% d'utilisation du processeur (pour un noyau) jusqu'à ce que je tue le processus. Mais tant que vous vous référez directement à la performance de fichier / dossier, c'est génial (ce qui signifie que je peux accéder à l'un de ces 10 millions de fichiers sans frais généraux) p>
Selon si NTFS dispose d'index d'annuaire, il se doit bien du niveau Application em>. p>
Je veux dire, que les fichiers d'ouverture par nom, suppression, renommage, etc., doivent fonctionner de manière programmatique. P>
Mais le problème est toujours des outils. Les outils tiers (tels que MS Explorer, votre outil de sauvegarde, etc.) sont susceptibles de sucer ou du moins être extrêmement inutilisables avec un grand nombre de fichiers par répertoire. P>
Tout ce qui permet à une analyse de répertoire, est susceptible d'être assez lent, mais pire, certains de ces outils ont des algorithmes pauvres qui ne font pas échelle de nombres modestes (10k +) de fichiers par répertoire. P>
20 000 fichiers sont encore beaucoup. mieux diviser dans l'ordre de 1000 fichiers / dir
Je suppose que je serais tenté de demander si 600 répertoires dans un répertoire deviennent un problème. J'imagine que les systèmes d'exploitation sont optimisés pour moins de 100. Je ne pense pas que 600 serait une question cependant.
Auparavant, il était nécessaire que de nombreux fichiers dans un répertoire dans NTFS subiraient des dommages causés au FS lui-même, provoquant une croissance d'une table quelque part qui ne diminuerait jamais. Est-ce que cela a été corrigé? (Désolé d'être vague ici; j'oublie les détails.)
Ça devrait être correct tant que les blancs ont une extension de .6.
Est-ce que cela répond à votre question? performances NTFS et grands volumes de fichiers et de répertoires