Я должен сохранить приблизительно 600 000 изображений на веб-сервере, который использует NTFS. Действительно ли я - более обеспеченные изображения хранения в блоках с 20,000 изображениями в подпапках? (Windows Server 2008)
Я обеспокоен несением операционной системы наверху во время извлечения изображения
Давай. Если у вас есть внешний индекс и прямой путь к каждому файлу без перечисления содержимого каталога , тогда все в порядке.
У меня есть папка размером более 500 ГБ с более чем 4 миллионами папок (в которых больше папок и файлов). Всего у меня порядка 10 миллионов файлов.
Если я случайно открою эту папку в проводнике Windows, она застрянет при 100% использовании процессора (для одного ядра), пока я не завершу процесс. Но если вы напрямую ссылаетесь на файл / папку, производительность велика (это означает, что я могу получить доступ к любому из этих 10 миллионов файлов без накладных расходов)
В зависимости от того, есть ли в NTFS индексы каталогов, все должно быть в порядке с уровня приложения .
Я имею в виду, что открытие файлов по имени, удаление, переименование и т.д. программно должно работать нормально.
Но проблема всегда в инструментах. Сторонние инструменты (такие как MS Explorer, ваш инструмент резервного копирования и т. Д.), Скорее всего, будут отстойными или, по крайней мере, будут крайне непригодными для использования с большим количеством файлов в каталоге.
Все, что выполняет сканирование каталогов, вероятно, будет довольно медленным, но, что еще хуже, некоторые из этих инструментов имеют плохие алгоритмы, которые не масштабируются даже до скромного (10k +) количества файлов в каталоге.
В папках NTFS хранится индексный файл со ссылками на все его содержимое. При большом количестве изображений этот файл сильно увеличится и негативно повлияет на производительность. Поэтому, да, исходя только из этого аргумента, вам лучше хранить фрагменты во вложенных папках. Фрагменты внутри индексов - это боль.