Какое максимальное количество файлов может содержать папка Unix?
Я думаю, что это будет так же, как количество файлов.
linux
unix
filesystems
Питер Мортенсен
источник
источник
Ответы:
Зависит от файловой системы, http://en.wikipedia.org/wiki/Comparison_of_file_systems
источник
На всех современных файловых системах Unix каталог может содержать практически неограниченное количество файлов. Принимая во внимание, что «неограниченный» ограничен дисковым пространством и inode - что бы ни заканчивалось сначала.
Со старыми проектами файловой системы ( ext2 , UFS , HFS + ) дела идут медленно, если у вас много файлов в каталоге. Обычно вещи начинают становиться болезненными около 10000 файлов. С новыми файловыми системами ( ReiserFS , XFS , ZFS , UFS2 ) вы можете хранить миллионы файлов в каталоге, не видя узких мест в производительности.
Но наличие такого количества файлов в каталоге плохо проверено, и есть много инструментов, которые не справляются с этим. Например, сценарии периодического технического обслуживания системы могут препятствовать этому.
Я с радостью использовал каталог с несколькими миллионами файлов в UFS2 и не видел проблем, пока не захотел удалить каталог - это заняло несколько ДНЕЙ.
источник
Это зависит от того, сколько инодов была создана файловая система. проведение
даст вам количество бесплатных инодов. Это практический предел того, сколько файлов может содержать файловая система и, следовательно, каталог.
источник
Я предполагаю, что вы думаете о хранении большого количества файлов в одном месте, нет?
Большинство современных файловых систем Unix могут помещать множество файлов в один каталог, но такие операции, как следование по пути, перечисление файлов и т. Д., Включают в себя линейный поиск по списку файлов и замедляются, если список становится слишком большим.
Кажется, я помню, что слышал, что пара тысяч - это слишком много для практического использования. Типичное решение - разбить группу на группы. То есть,
и сохраните ваши файлы в соответствующем подкаталоге в соответствии с их хешем
basename
. Выберите удобный хеш, первый символ может сделать для простых случаев.Кристиан Чиупиту пишет в комментариях, что XFS и, возможно, другие очень новые файловые системы используют
log(N)
структуры с возможностью поиска для хранения содержимого каталога, поэтому это ограничение значительно улучшается .источник
ext3
Один из наиболее распространенных форматов файловой системы Linux становится очень медленным, если у вас есть около 20k + файлов в каталоге. Независимо от того, сколько он может хранить, вы должны стараться избегать того, чтобы столько файлов находилось в одном каталоге.источник
Из комментария, который вы оставили, я думаю, что вам не важно, сколько файлов / папок может разместить ваша FS.
Вам, вероятно, следует подумать об использовании ModRewrite и переписать site.com/username для site.com/?user= или что-то в этом роде и сохранить все ваши данные в базе данных. Создание одной папки для пользователя обычно не требуется (и не является хорошей идеей).
Тем не менее, каждая файловая система имеет ограничения и
df
может сказать вам, сколько inode доступно в каждом разделе вашей системы.источник