Назад | Перейти на главную страницу

Есть ли ограничение на количество файлов и папок в папке?

У меня есть эта папка, она называется «Х».

В настоящее время в нем 40 тыс. Папок и 70 тыс. Файлов.

Я немного волнуюсь, внутри изображения. Есть ли ограничение, которое может хранить папка «X»?

Эта папка важна, в ней хранятся изображения моих текущих пользователей. Пожалуйста, порекомендуйте?

Или хранить в базе данных (BLOB)? Я использую mysql.

Пожалуйста, порекомендуйте.

РЕДАКТИРОВАТЬ:

Я использую Windows Server 2003. IIS 6

Это все очень хорошо, так как теоретические ограничения NTFS публикуются, как это делали некоторые другие плакаты, однако вы обнаружите, что на самом деле, если вы поместите 100 КБ файлов в папку, производительность при доступе к этим файлам значительно упадет. Это касается не только NTFS, но и всех популярных файловых систем Linux.

Самый простой способ - разделить их на подпапки, не более 10-20 тысяч каждая. Если ваше именование относительно равномерно распределено, вы можете сделать это по нескольким первым символам имени файла, чтобы было проще. Вы хотите создать эти папки за один раз, а не на лету, чтобы корневая папка не была фрагментирована.

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

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

«Что-то разумное» должно быть проверено и измерено в вашей среде. Я бы поставил меньше 10К, но это всего лишь намек ...

Насколько мне известно, нет максимального ограничения на количество файлов в папке, однако NTFS имеет ограничение в 4 294 967 295 файлов на томе.

Если вы используете Windows 2003, то, предположительно, ваши диски отформатированы в NTFS?

  • NTFS Максимальное количество файлов на диске: 4294967295
  • NTFS Максимальное количество файлов в одной папке: 4 294 967 295

Посмотреть здесь и здесь (прокрутите вниз до «Ограничения размера NTFS») для других соответствующих ограничений NTFS.

Но это одна из тех ситуаций, когда если вы приближаетесь к пределу, то почти наверняка делаете что-то не так.

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

Как правило, файлы размером 6-10 тыс. В каталоге начинают замедляться из-за потребления памяти. Если размер файлов превышает 300 КБ, создание файлов также замедлится из-за проблем с поиском уникальных имен при «генерации коротких имен файлов».

Хранение файлов в двоичном объекте MySQL возможно, но, на мой взгляд, это медленно и значительно увеличивает вашу базу данных. Я бы предложил создать более глубокую структуру каталогов и перенести в нее вашу текущую структуру.

Вы не указали файловую систему или операционную систему. В Linux ext2 (и предположительно ext3 и ext4, поскольку они основаны на нем) имеет теоретический предел 1,3 × 10 ^ 20 записей каталога.