У меня есть процессор i5 6-го поколения с 8 ГБ оперативной памяти 4 ТБ дополнительного жесткого диска и 500 ГБ основного жесткого диска. Жесткий диск 4 ТБ отформатирован с помощью NTFS. Моя цель - записать огромное количество файлов на диск. Диск SATA 7200RPM должен тестировать алгоритм сжатия на тех же записанных файлах. Файлы, которые будут записаны на диск, будут сжаты с меньшим размером с диапазоном 12-20 КБ. Я написал сценарий bash, чтобы сделать 500000 копий того же самого для целей тестирования, но обнаружил, что в этом каталоге пишется 7-8 файлов, что составляет 100 КБ / с, а скорость упоминания намного выше. Я хочу достичь, как 100 файлов в секунду. Я не знаю что делать. Пожалуйста, предложите мне достичь максимальной скорости записи.

2 ответа2

2

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

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

Существует множество тестов, сравнивающих различия в производительности, которые указывают на одно и то же.

1

Если вы пишете небольшие файлы, вы в основном проверяете скорость, с которой файловая система может открывать / закрывать файлы (и, возможно, задержка перемещения головы). И используя NTFS в Linux, вы не используете наиболее эффективную файловую систему. Если вы хотите протестировать свой алгоритм, используйте встроенную файловую систему (ext4 ...) и большие файлы. Тогда, если вы получите более медленные результаты на NTFS, вы будете знать, откуда они берутся.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .