--size= определяет размер тестового файла. --size=2g может быть хорошим выбором. Будет создан файл (указанный параметром --filename= ) такого размера, поэтому для него потребуется свободное место. Увеличение до --size=20g или более может дать лучший реальный результат для больших жестких дисков.
- Небольшой файл размером 200 МБ на современном жестком диске не заставит головки чтения/записи двигаться слишком далеко. Будет очень большой файл.
- --fsync=1 полезен для тестирования случайных операций чтения и записи.
- --fsync=10000 можно использовать для проверки последовательного чтения и записи.
Соберите все вышеперечисленное вместе, и мы получим несколько длинных команд для тестирования дискового ввода-вывода различными способами.
Тестирование скорости последовательного чтения с очень большими блоками [ править ]
fio --name TEST --eta-newline=5s --filename=temp.файл --rw=read --size=2g --io_size=10g --blocksize=1024k --ioengine=libaio --fsync=10000 --iodepth=32 --direct=1 --numjobs=1 --runtime= 60 --group_reporting
В результирующем выводе будет строка под статусом выполнения группы 0 (все задания): что выглядит так:
Результат должен быть близок к заявленному производителем жесткого диска, и он не будет так уж далек от предположений, которые hdparm предоставляет с параметром -t. Тестирование этого на массиве RAID1 с двумя дисками приведет к тому, что будут использоваться оба диска:
Тестирование скорости последовательной записи с очень большими блоками [ править ]
fio --name TEST --eta-newline=5s --filename=temp.file --rw=write --size=2g --io_size=10g --blocksize=1024k --ioengine=libaio --fsync =10000 --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting
Это будет строка под строкой "Выполнить группу состояния 0 (все задания):", например
Вероятно, вы не будете регулярно копировать 100 ГБ на твердотельный накопитель емкостью 240 ГБ, поэтому практического значения это может не иметь. Однако знайте, что если вы проведете тест (при условии, что у вас есть 80 ГБ свободного места) с WD Green SSD со 100 ГБ операций ввода-вывода и файлом размером 80 ГБ с 5-минутным (60*5=300) ограничением, вы получите намного более низкие результаты, чем если бы вы записали 10 ГБ в файл размером 2 ГБ. Чтобы проверить себя, попробуйте
fio --name TEST --eta-newline=5s --filename=temp.file --rw=write --size=60g --io_size=100g --blocksize=1024k --ioengine=libaio --fsync =10000 --iodepth=32 --direct=1 --numjobs=1 --runtime=300 --group_reporting
Вам необходимо увеличить размер (файлы, используемые для тестирования), io_size (количество операций ввода-вывода) и время выполнения (длину тест разрешен для обхода кэшей дисков.
Тестирование случайного чтения 4K [ изменить ]
Тестирование случайного чтения лучше всего проводить с глубиной очереди, равной всего одному ( --iodepth=1 ) и 32 одновременным заданиям ( --numjobs=32 ).
Это будет отражать реальную производительность чтения.
fio --name TEST --eta-newline=5s --filename=temp.file --rw=randread --size=2g --io_size=10g --blocksize=4k --ioengine=libaio --fsync =1 --iodepth=1 --direct=1 --numjobs=32 --runtime=60 --group_reporting
Некоторые примеры результатов:
- Seagate Momentus 5400.6: ЧТЕНИЕ: bw=473 КБ/с (484 КБ/с), 473 КБ/с-473 КБ/с (484 КБ/с-484 КБ/с), io=27,9 МБ ( 29,2 МБ), run=60334-60334 мс
- Твердотельный накопитель WD Blue 500 ГБ (WDC WDS500G2B0A-00SM50): ЧТЕНИЕ: bw=284МБ/с (297МБ/с), 284МБ/с-284МБ/с (297МБ/с-297МБ/с ), io=16,6 ГиБ (17,8 ГБ), run=60001–60001 мс
Как показывают эти примеры результатов: разница между старым жестким диском на 5400 об/мин и средним младшим твердотельным накопителем ошеломляет, когда дело доходит до случайного я> ввод/вывод. Между половиной мегабайта и 284 мегабайтами в секунду огромная разница.
Смешанное случайное чтение и запись 4K [ редактировать ]
Опция --rw randrw указывает fio выполнять операции чтения и записи. И опять же, глубина очереди всего одна ( --iodepth=1 ) и 32 одновременных задания ( --numjobs=32 ) будут отражать высокую реальную нагрузку. Этот тест покажет самую худшую производительность ввода-вывода, которую вы можете ожидать. Не удивляйтесь, если показатели производительности жесткого диска составляют низкий процент от заявленных характеристик.
fio --name TEST --eta-newline=5s --filename=temp.file --rw=randrw --size=2g --io_size=10g --blocksize=4k --ioengine=libaio --fsync =1 --iodepth=1 --direct=1 --numjobs=1 --runtime=60 --group_reporting
Бонни++ [ изменить ]
bonnie++ — это набор тестов дисков и файловой системы. Его установка (пакет обычно называется bonnie++ ) и запуск без параметров запустит тест диска и файловой системы в текущем рабочем каталоге.
bonnie++ позаботится о кэшировании и синхронизации, а также проверит произвольное чтение и запись, а также проверит небольшие и большие обновления файловой системы. Это тестирование требует некоторого времени, и под «каким-то временем» мы подразумеваем часы на старой машине со старым жестким диском.
Провайдеры bonnie++ больше похожи на тестирование, чем hdparm и dd. Однако у него есть некоторые недостатки: он однопоточный, что означает, что некоторые операции будут выполняться медленнее, чем на самом деле на любой многоядерной машине.
bonnie++ — хороший инструмент, если вы просто хотите что-то установить и запустить, не думая о добавлении параметров, ожидая и получая полезные результаты.
Диски с особыми характеристиками [ изменить ]
Некоторые жесткие диски и решения для хранения данных имеют особые свойства, которые следует учитывать.
«Полосная магнитная запись» (SMR) управляет [ редактировать ]
Компания Seagate использует технологию под названием "Shingled Magnetic Recording" (SMR), которая позволяет размещать дорожки ближе друг к другу, чем следовало бы. Запись на дорожку на SMR-диске приводит к тому, что накопитель также перезаписывает ближайшие дорожки. Эти диски будут иметь большой встроенный буфер памяти и «нормальную» область на пластинах для кэширования записей, которые позже необходимо будет выполнить «способом SMR». Эта область обычно составляет 20-40 ГБ в зависимости от размера дисков.В результате диски SMR ведут себя не так, как обычные диски: первые 20 ГБ, записанные на диск SMR, будут записаны с ожидаемой скоростью, которая является вполне нормальной для современного жесткого диска. Дополнительные данные, записанные после этого, приведут к полной остановке скорости записи, как в случае почти нуля, в то время как накопитель записывает данные в свою «запись- буфер" и перезаписывает дорожки рядом с теми, где были размещены новые данные.
Диски SMR можно точно протестировать, записав на них действительно большой объем данных (60 ГБ или около того). Что вы обнаружите, так это то, что скорость чтения и записи становится абсолютно удручающей, когда буфер заполнен. Вот почему лучше просто избегать магнитных записывающих дисков Shingled.
Твердотельные накопители Multi-nand [ изменить ]
Большинство современных бытовых твердотельных накопителей имеют более медленную TLC (трехслойную ячейку) nand и небольшую область SLC (однослойная ячейка), которая используется для немедленного кэширования. пишет. Микропрограмма накопителя будет перемещать данные из области SLC в область TLC, когда накопитель в основном простаивает. На практике это означает, что тест записи объемом 1 ГБ, будь то последовательная или случайная запись, покажет уровень производительности, который гораздо выше, чем тот, который вы получите, если вы превышать область SLC. Если область SLC составляет 20 ГБ, а вы копируете 40 ГБ, вы обнаружите, что производительность записи заметно снижается. Учтите это, если вы будете использовать SSD для регулярного копирования большого количества очень больших файлов.
Твердотельные накопители корпоративного класса в основном не будут иметь этой проблемы, что будет отражаться на их цене. Вы можете быть уверены, что все более дешевые твердотельные накопители потребительского уровня, такие как Kingson серии A400 и A1000, WD Green и WD Blue, а также накопители аналогичной стоимости имеют такое поведение.
Сравнение облачных/VPS-хранилищ [ изменить ]
На самом деле довольно сложно сравнить производительность, которую вы можете ожидать от поставщика облачных услуг или поставщика виртуальных частных серверов. Вы можете запускать тесты и получать результаты, которые могут что-то значить или не иметь при развертывании реальных приложений. Ваш экземпляр VPS может выполнять запись в кэш хост-системы, когда вы думаете, что он выполняет запись на диск на самом деле.
Наблюдение за скоростью чтения и записи устройств хранения – это хороший способ определить подлинные продукты и оценить работоспособность диска в течение длительного времени. В этой статье будут перечислены различные инструменты, доступные для Linux, которые можно использовать для сравнительного анализа жестких дисков и мониторинга данных об активности дисков в реальном времени.
Диски GNOME
GNOME Disks — это внутренний и внешний инструмент управления дисками для Linux. На основе udisks его можно использовать для изменения, форматирования и разбивки дисков, а также для выполнения тестов на любых носителях, подключенных к системе.
Диски GNOME предустановлены в большинстве дистрибутивов с окружением рабочего стола на основе GNOME. В случае, если он отсутствует в вашей системе Ubuntu, вы можете установить его, выполнив следующую команду:
Чтобы выполнить тест жесткого диска с помощью GNOME Disks, запустите приложение «Диски» из панели запуска приложений.
Нажмите на меню с тремя точками, а затем нажмите на опцию «Проверка диска…».
Нажмите кнопку "Начать тестирование..." в следующем окне.
Измените параметры по мере необходимости. Обратите внимание, что эта утилита не позволяет вам выполнять тесты записи на смонтированных дисках. Таким образом, чтобы выполнить полный тест чтения-записи на встроенном диске, вам необходимо запустить GNOME Disks в режиме live USB и отключить встроенный накопитель. Нажмите кнопку «Начать сравнение…», чтобы начать процесс сравнения.
Процесс сравнительного анализа займет некоторое время в зависимости от количества выбранных вами образцов. После завершения процесса вы сможете увидеть результаты скорости чтения/записи.
Вам необходимо сравнить эти результаты со значениями чтения/записи, заявленными поставщиком, чтобы оценить эффективность.
HDparm
Hdparm – это простое приложение командной строки для Linux, которое позволяет управлять устройствами хранения, устанавливая и удаляя параметры. Он также включает возможность проверки скорости чтения с устройств хранения.
Чтобы установить hdparm в Ubuntu, выполните следующую команду:
Чтобы запустить тест жесткого диска с помощью Hdparm, используйте следующую команду:
Замените часть «/dev/sda» адресом вашего жесткого диска. Вы можете проверить путь с помощью упомянутого выше приложения GNOME Disks или выполнив следующую команду:
После завершения теста вы увидите результаты теста в виде выходных данных терминала.
Data Duplicator или просто «dd» — это утилита командной строки для Linux, позволяющая копировать и преобразовывать файлы и данные. Он способен копировать большие фрагменты данных, клонировать целые жесткие диски, создавать загрузочные USB-накопители и т. д.
Скорость записи на жесткий диск можно проверить с помощью dd. Запустите приведенные ниже команды, чтобы выполнить тест скорости записи.
$ mkdir эталонный тест
$ cd эталонный тест
$ dd if = /dev/zero of =benchfile bs =4k count = 200000 && sync ; rm бенчфайл
Дождитесь завершения теста, результаты будут показаны в терминале после завершения.
Чтобы выполнить проверку чтения с помощью dd, выполните следующую команду:
Эта команда будет выполняться до тех пор, пока не будет остановлена, поэтому нажмите через несколько секунд, чтобы увидеть результаты.
Системный тест
Sysbench – это многоцелевая утилита для тестирования производительности Linux. Некоторые из тестов, предоставляемых Sysbench, включают стресс-тест ЦП, тест скорости доступа к памяти и тест производительности ввода-вывода файловой системы.
Чтобы установить sysbench в Ubuntu, выполните следующую команду:
Чтобы выполнить тест жесткого диска с помощью sysbench, выполните приведенные ниже команды одну за другой:
$ mkdir тест
$ cd тест
$ sysbench fileio prepare
$ sysbench fileio --file-test-mode =rndrw run
Дождитесь завершения теста. После этого вы увидите результаты в виде вывода терминала.
Чтобы удалить тестовые файлы из каталога тестов, выполните следующую команду:
Вы можете использовать статистику "Пропускная способность" в качестве индикатора эффективности.
Системная статистика
Sysstat – это приложение для мониторинга производительности с командной строкой для Linux. Он может отслеживать операции ввода-вывода, потребление памяти, использование ресурсов запущенными системными процессами, сетевую активность и т. д., а также отображать статистику о них в режиме реального времени.
Чтобы установить Sysstat в Ubuntu, выполните следующую команду:
Для мониторинга производительности жесткого диска вы можете использовать команду «iostat», включенную в Sysstat. Хотя он не включает возможность выполнения тестов, он может отображать данные о чтении и записи на диск в режиме реального времени.
Чтобы увидеть скорость чтения и записи диска каждую секунду, выполните следующую команду:
Иотоп
Iotop — лучший инструмент для мониторинга операций чтения и записи на диск. Он показывает данные в табличной форме, подобно тому, как это делает top или htop для отображения потребления ресурсов. Он работает аналогично утилите iostat, упомянутой выше, и это не совсем инструмент для тестирования. Однако он может отображать статистику активности диска в режиме реального времени, что делает его подходящим для мониторинга операций с большими данными.
Чтобы установить Iotop в Ubuntu, выполните следующую команду:
Выполните приведенную ниже команду, чтобы запустить iotop:
Заключение
Вот некоторые из методов, которые можно использовать для сравнительного анализа жестких дисков и определения их скорости чтения и записи. Нельзя отрицать, что некоторые контрафактные и ложно рекламируемые продукты доступны сегодня на рынке, особенно флэш-накопители. Единственный способ определить их эффективность – сравнить их с заявленными скоростями.
Об авторе
Нитеш Кумар
Я внештатный разработчик программного обеспечения и писатель, который любит Linux, программное обеспечение с открытым исходным кодом и сообщество свободного программного обеспечения.
Читайте также: