Linux: большое количество файлов в папке — это сколько?
=========================================================

 На хостинге меня пугали, что больше 3000 файлов в одной папке держать крайне не желательно, замедляется производительность доступа к этим файлам. Погуглил, люди сотнями тысяч хранят, вроде.  

  

Так где правда? 

 По собственному опыту:  

10 тысяч — вполне нормальное число.  

50 тысяч и больше — стоит подумать о подпапках и иерархичности папок / документов. 

 Если ответить коротко — зависит от ограничений файловой системы.   

  

Это, пожалуй, индивидуальная мера для выбранной системы, на каком количестве файлов начнутся тормоза.  

На практике, чем больше файлов в папке — тем медленнее листинг. Индивидуальный доступ к одному файлу из 30 тыс. может не отличаться по скорости(если в директорию никогда не заходить через терминал), но листинг может занять несколько минут и загрузить процессор.  

  

Лично я распределяю по удобству копирования и архивации, примерно по несколько сотен файлов(до тысячи) в одной папке. 

 Под Линуксом используются разные файловые системы и у них разные ограничения.  

Наиболее распространены ext3 и ext4, но не так редко бывает RaserFS, XFS и пр.  

Например, в ext3 выделяется 655360 inodes на раздел и когда они кончаются, записать ничего нельзя. 

 Это некорректный вопрос, так как в конкретной ситуации производительность существенно зависит от ряда других факторов.  

  

На одной и той же машине в разных обстоятельствах можно получить ощутимые тормоза при чтении директории с 50000 файлов, и при 1000. 

 при безумных количествах могут возникать некоторые неудобства в работе, некоторые из которых повергают неопытных пользователей в панику (:  

например, df -h показывает что места еще 20 гигов, а файло не создается, рапортуя, что закончилось место (бывает только, если иноды закончились) или не работают rm * и многие маски (шелл ругается на большое количество аргументов).  

а так, чтобы это на производительности сказывал, что-то не наблюдал. 

 Большое число файлов в папке на самом деле замедняет доступ к ним.  

Когда у меня бала задача расположить сотни тысяч файлов и потом оперативно их доставать, то я делал иерархию, как написал человек выше. На сколько я помню каждая фс имеет свои ограничения на количество файлов в одной папке, вроде как 65тыс. Так что если у Вас количество файлов все время растет, то лучше сразу подумать над иерархией.