Будут ли тысячи папок замедлять работу IIS или ОС

У нас есть сервер IIS-7 в Windows 2008. Пользовательское веб-приложение записывает файлы, которые клиенты загружают в раздел NTFS. Каждый год у нас появляется от 40 000 до 60 000 папок по 2-20 файлов в каждой. Попытка открыть папку года в проводнике - проблема, и создание списка папок может занять несколько минут. Это заставило меня задуматься, не является ли это проблемой для системы в целом?

Думаю, более простой вопрос заключается в том, что если наше веб-приложение обращается к файлам напрямую по точному пути, то десятки тысяч файлов по-прежнему будут замедлять работу?

0
задан 21 July 2017 в 00:48
1 ответ

Windows (NTFS) не буферизует $ MFT на постоянной основе - в зависимости от объема памяти может потребоваться (очень хорошо, учитывая размер), чтобы прочитать его с диска, что может занять длительное время и остановиться все попытки доступа к тому.

Я борюсь с этим некоторое время, и единственное решение - уменьшить размер каталога. Вместо (плоский), например. \ 2017-07-20.log и так далее в одной огромной папке, используйте \ 2017 \ 07 \ 2017-07-20.log. Таким образом, ни одна папка не увеличивается в размере и - при условии, что к текущим папкам обращаются чаще - значительно улучшается локальность доступа к папкам.

Если вы не можете этого сделать, единственное средство - уменьшить размер $ MFT, удалив имена 8.3. , не используйте слишком сложные имена, списки управления доступом, аудит, ...

Еще одно средство - добавить в машину память для улучшения кэширования.

3
ответ дан 4 December 2019 в 12:19

Теги

Похожие вопросы