Nombre limite de fichiers dans un répertoire ?

Nombre limite de fichiers dans un répertoire ? - Divers - Programmation

Marsh Posté le 21-11-2018 à 17:44:11    

Bonjour,
Dans une appli web, j'ai une fonction d'upload de fichiers. Ceux-ci sont stockés dans un répertoire pour être consultés/téléchargés par la suite.
Question : que ça soit sur Windows ou Linux 5red Hat, CentOS...), y'a t-il une limite du nombre de fichiers qu'on peut mettre dans un même répertoire ?
 
Si je prends Mediawiki, ils font des répertoires /0/, /1/... puis des sous-répertoires /0/, /1/... pour stocker les fichiers uploadés. J'avais pas trop compris l'utilité (mais j'ai bien compris que c'est basé sur un système de hashage). Est-ce pour contourner ce type de limite si ça existe ? Ou est-ce qu'un trop grand nb de fichiers dans un répertoire ralentit le serveur ?
 
Merci par avance pour votre aide.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 21-11-2018 à 17:44:11   

Reply

Marsh Posté le 21-11-2018 à 19:06:13    

Les différents dossiers ça serait pas plutôt pour éviter les collisions au niveau des noms, genre trois personnes qui mettent en ligne un fichier du même nom?
Pour la question en soit, tu as vu ces sujets? Du moins pour les systèmes Linux on pourrait aussi carément lire les spécifications, pour Windows je ne suis pas sûr que ces derniers soient publics. :o  
 
https://serverfault.com/questions/5 [...] y-can-have
https://stackoverflow.com/questions [...] -directory
https://webmasters.stackexchange.co [...] -webserver
https://askubuntu.com/questions/703 [...] -directory
 
Cette page Wikipédia ne répond pas à la question mais c'est intéressant quand même.

Reply

Marsh Posté le 21-11-2018 à 21:07:21    

Merci pour les liens.
Ext4 : Maximum number of files per directory: unlimited
C'est l'impression que j'avais en lisant la spec.
 
Effectivement, le coup des répertoires "hash" pour limiter le risque de collisions de mêmes noms de fichiers, c'est une bonne explication. Après, ça pouvait se résoudre en rajoutant le timestamp d'upload dans le nom de fichier (avoir un nom de fichier réel pour le stockage et un nom de fichier pour le téléchargement).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 22-11-2018 à 09:18:18    

Il n'y a pas qu'une seule limite à considérer.
Par exemple d'un côté tu as le FileSystem, là la limite est énorme (2^32 - 1 en NTFS par exemple), mais après il y a aussi la limite plus floue de la GUI de l'OS.
Sous Windows par exemple ça rame sévèrement après quelques dizaines de milliers, surtout si t'affiche des colonnes d'info supplémentaires, si l'OS tente de générer un Thumbs.db, etc.

 

Après bien sûr pour un traitement "informatisé" tu ne vas pas te balader "à la main" dans le répertoire, mais ça reste bien de pouvoir l'ouvrir sur le serveur (à des fins d'administration) sans voir la machine s'effondrer :p

 

Perso j'irai pas au delà de 100 000.

 

Plutôt qu'un système de hash pour gérer des répertoires tu peux envisager par exemple un répertoire par mois, etc. Et d'avoir un index des fichiers à côté dans une DB.


Message édité par TotalRecall le 22-11-2018 à 09:20:29

---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 22-11-2018 à 17:38:51    

J'avais bien pris en compte la limite du filesystem mais elle est tellement éloignée de ma métrique que je ne l'ai pas considérée. A vue de nez, je pense que ça tournerait aux alentours de 1000 à 2000 fichiers par an.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 10-12-2018 à 17:39:40    


Quel est le rapport avec ma question, sachant qu'on est dans la rubrique "programmation" (donc, c'est moi qui me renseigne pour coder par la suite) :??:


Message édité par Harkonnen le 10-12-2018 à 22:28:06

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 10-12-2018 à 18:06:06    

C'est du spam, je l'ai déjà signalé pour que ce soit effacé.

Reply

Marsh Posté le 10-12-2018 à 20:20:49    

C'est ce qu'il me semblait. Merci ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed