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

Проблемы с производительностью при перекрестных переходах NTFS

У меня следующая установка:

В подкаталоге C:\Users\Database User\Documents У меня около 50 000 файлов размером около 2 КБ в среднем примерно в 10 подкаталогах. (База данных столбцов bcolz.)

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

Ниже пересечения NTFS приемлемая производительность достигается только в рабочем каталоге процессов или в подкаталоге рабочего каталога:

В первых двух случаях процесс cmd.exe практически не потребляет процессорное время, а во втором - 100% одного ядра. Операция идентична во всех трех случаях. Различаются только рабочие каталоги.

Но обратите внимание:

Это явление происходит при любом быстром вводе-выводе файлов с очень большим количеством очень маленьких файлов. Это не ограничивается rmdir или cmd.exe. Приведенный выше пример приведен только для иллюстрации.

Есть идеи, что происходит и как это исправить?