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

Максимальное (практическое) количество файлов в папке в общей папке Windows?

Я поддерживаю внутреннее приложение, которое хранит файлы в общей папке Windows Server 2003 SP2. Из-за того, как он в настоящее время настроен для хранения файлов, в одной папке ~ 116 000 файлов (в другой ~ 65 000, а в других папках меньше, но все же по несколько тысяч в каждой). Приложение стало очень медленно записывать файлы.

Макет файла можно настроить до существующего, поэтому я пытаюсь придумать лучший план. У кого-нибудь есть опыт того, сколько элементов в папке SMB может обработать, прежде чем она станет непригодной для использования? В этом случае это было медленным в течение некоторого времени, но это не начинало становиться невыносимым, пока папка не превысила 100000 файлов.

Эван прав, магического числа нет. Это зависит от приложения и сервера. Обновление до server 2008 поможет, и это первое, что я сделаю, если у клиента есть перспектива или лучше, если они используют SMBv2. У меня есть общие ресурсы, содержащие 500 000 файлов, которые просматриваются как дерьмо, но, поскольку пользователи используют только предоставленные прямые пути, все работает нормально. На том же сервере у меня есть общие ресурсы со 100 000 файлов, с которыми у пользователей нет проблем.

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

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

Вы случайно выполнили сравнительный анализ своей локальной сети, задержки сетевой инфраструктуры и задержки подсистемы ввода-вывода вашего серверного компьютера. Вы явно нашли «магическое число». Я бы сократил этот каталог до тех пор, пока производительность не улучшится. Другого пути нет!

Частично связанные:

Остановить «последнее обновление доступа»

Каждый раз, когда вы открываете папку на NTFS-диске, Windows XP обновляет эту папку и все подпапки с отметкой времени с датой последнего доступа. Иногда это может снизить производительность Windows.

Чтобы изменить это, откройте REGEDIT (Пуск -> Выполнить -> «regedit») и перейдите к HKEY_LOCAL_MACHINES \ System \ CurrentControlSet \ Control \ FileSystem.

Создайте новое значение DWORD (щелкните правой кнопкой мыши -> новое -> Значение DDWORD) с именем «NtfsDisableLastAccessUpdate» и установите значение «1».

и

Отключить ненужное соглашение об именах

Для каждого созданного файла Windows XP использует одно дополнительное имя для совместимости с MSDOS: имя из 8 символов, за которым следует «.», А затем 3 символа для расширения. Если вы не собираетесь использовать программное обеспечение только для DOS, это пустая трата памяти.

Чтобы изменить это, откройте REGEDIT
Перейдите к HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ FileSystem

Измените значение ключа NtfsDisable8dot3NameCreation на «1».

( взято из http://basiccoms.blogspot.com/2008/08/windows-xp-performance-tweaking-guide.html )