Достичь максимальной скорости записи на жесткий диск

Достичь максимальной скорости записи на жесткий диск

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

решение1

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

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

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

решение2

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

Связанный контент