Продолжаем рассказывать об открытых инструментах для оценки производительности файловых систем и СХД на Linux. В этот раз говорим о Fio, Hdparm, S, Bonnie и Interbench.

Фото — Daniele Levis Pelusi — Unsplash
Это — инструмент для генерации потоков чтения/записи с диска. Он позволяет оценить производительность файловой системы Linux, например, просмотреть скорость в Мбайт/с и IOPS. К слову, fio можно запустить и на Windows, но придется установить интерфейс командной строки Cygwin — инструкция есть в репозитории на GitHub. Автор fio — Дженс Эксбо (Jens Axboe), мэйнтейнер подсистемы блочных устройств Linux.
Для запуска утилиты необходимо сформировать файл (имеет расширение .fio), в котором прописать настройки и условия теста. Поддерживается несколько режимов работы — часто используются произвольное чтение, запись и перезапись. Вот пример текста из файла для первого случая:
Затем этот файл достаточно передать утилите в качестве параметра.
Тот факт, что для запуска fio нужно формировать отдельный файл, считается его главным недостатком. Плюс бывает сложно разобраться в генерируемых утилитой результатах. Но несмотря на это fio пользуется довольно большое число разработчиков. Например, с утилитой работают в IBM, SUSE и Nutanix.
Стандартная утилита для настройки параметров дисков с интерфейсом ATA и проведения простейших бенчмарков. Например, с её помощью можно быстро узнать скорость чтения диска. Hdparm входит в состав подавляющего большинства дистрибутивов.
Для проверки скорости чтения достаточно написать в консоли следующую команду:
Ниже, пример ответа, генерируемого системой:
Что касается функциональности с настройкой накопителей, то она позволяет изменить объём кеш-памяти, параметры спящего режима и электропитания — всего их около шестидесяти.
Однако неосторожное изменение ряда системных параметров может привести к потере данных на диске. Поэтому перед работой с hdparm стоит ознакомиться с руководством — достаточно прописать в консоли команду man hdparm.
Это — набор бенчмарков для тестирования производительности ввода/вывода данных. Авторами утилиты выступила команда разработчиков из Университета Модены и Реджо-нель-Эмилии в Италии.
Все бенчмарки реализованы в виде bash-скриптов. Они позволяют проверить «отзывчивость» системы хранения данных. Например, скрипт throughput-sync.sh нужен для оценки общей пропускной способности СХД. Он «бомбардирует» её синхронными запросами на чтение или запись (за их реализацию отвечает уже упомянутый fio). Другой скрипт — comm_startup_lat.sh — измеряет задержку при «холодном» обращении к диску (когда в кэше нет необходимых данных).

Фото — Age Barros — Unsplash
Утилита нужна для оценки производительности файловой системы Unix-подобных ОС. Её разработал инженер Тим Брей (Tim Bray) в 1989 году, чтобы оптимизировать работу компьютеров при обработке текста Оксфордского словаря английского языка.
Bonnie выполняет посимвольную или поблочную запись данных в файлы на диске (стандартный размер 100 МБ), а также произвольное чтение этой информации. Для каждого теста Bonnie выводит число обработанных байтов за CPU-секунду, а также уровень загрузки процессора в процентах. Исходный код бенчмарка можно найти на Google Code.
Утилита для настройки параметров планировщика ввода/вывода и файловой системы. Её написал Кон Коливас (Con Kolivas), австралийский анестезиолог, который известен своим вкладом в разработку ядра Linux и работой над «справедливым планировщиком процессора».
Interbench измеряет латентность и джиттер при выполнении интерактивных задач, эмулируя функции планировщика CPU. В качестве интерактивной задачи выступает работа со звуком и видео, запуск компьютерной игры или простое перетаскивание диалогового окна в операционной системе. Также Interbench позволяет проводить нагрузочные тесты.
Исходный код, примеры и рекомендации по настройке инструмента можно найти в официальном репозитории на GitHub.

Фото — Daniele Levis Pelusi — Unsplash
Fio
Это — инструмент для генерации потоков чтения/записи с диска. Он позволяет оценить производительность файловой системы Linux, например, просмотреть скорость в Мбайт/с и IOPS. К слову, fio можно запустить и на Windows, но придется установить интерфейс командной строки Cygwin — инструкция есть в репозитории на GitHub. Автор fio — Дженс Эксбо (Jens Axboe), мэйнтейнер подсистемы блочных устройств Linux.
Для запуска утилиты необходимо сформировать файл (имеет расширение .fio), в котором прописать настройки и условия теста. Поддерживается несколько режимов работы — часто используются произвольное чтение, запись и перезапись. Вот пример текста из файла для первого случая:
[global]
name=fio-rand-read
filename=fio-rand-read
rw=randread
bs=4K
direct=0
numjobs=1
time_based=1
runtime=900
Затем этот файл достаточно передать утилите в качестве параметра.
Тот факт, что для запуска fio нужно формировать отдельный файл, считается его главным недостатком. Плюс бывает сложно разобраться в генерируемых утилитой результатах. Но несмотря на это fio пользуется довольно большое число разработчиков. Например, с утилитой работают в IBM, SUSE и Nutanix.
Hdparm
Стандартная утилита для настройки параметров дисков с интерфейсом ATA и проведения простейших бенчмарков. Например, с её помощью можно быстро узнать скорость чтения диска. Hdparm входит в состав подавляющего большинства дистрибутивов.
Для проверки скорости чтения достаточно написать в консоли следующую команду:
$ sudo hdparm -Tt /dev/sda
Ниже, пример ответа, генерируемого системой:
Timing cached reads: 5278 MB in 2.00 seconds = 2639.99 MB/sec
Timing buffered disk reads: 234 MB in 3.00 seconds = 77.90 MB/sec
Что касается функциональности с настройкой накопителей, то она позволяет изменить объём кеш-памяти, параметры спящего режима и электропитания — всего их около шестидесяти.
Однако неосторожное изменение ряда системных параметров может привести к потере данных на диске. Поэтому перед работой с hdparm стоит ознакомиться с руководством — достаточно прописать в консоли команду man hdparm.
S
Это — набор бенчмарков для тестирования производительности ввода/вывода данных. Авторами утилиты выступила команда разработчиков из Университета Модены и Реджо-нель-Эмилии в Италии.
Все бенчмарки реализованы в виде bash-скриптов. Они позволяют проверить «отзывчивость» системы хранения данных. Например, скрипт throughput-sync.sh нужен для оценки общей пропускной способности СХД. Он «бомбардирует» её синхронными запросами на чтение или запись (за их реализацию отвечает уже упомянутый fio). Другой скрипт — comm_startup_lat.sh — измеряет задержку при «холодном» обращении к диску (когда в кэше нет необходимых данных).

Фото — Age Barros — Unsplash
Bonnie
Утилита нужна для оценки производительности файловой системы Unix-подобных ОС. Её разработал инженер Тим Брей (Tim Bray) в 1989 году, чтобы оптимизировать работу компьютеров при обработке текста Оксфордского словаря английского языка.
Bonnie выполняет посимвольную или поблочную запись данных в файлы на диске (стандартный размер 100 МБ), а также произвольное чтение этой информации. Для каждого теста Bonnie выводит число обработанных байтов за CPU-секунду, а также уровень загрузки процессора в процентах. Исходный код бенчмарка можно найти на Google Code.
На основе Bonnie (последнее обновление которого было в 1996 году) построен комплекс инструментов для тестирования жесткого диска Bonnie++. В нем приведены дополнительные инструменты для бенчмаркинга. Например, zcav, который позволяет оценить производительность различных зон HDD. Также Bonnie++ умеет эмулировать работу почтового сервера, базы данных и множество других вещей.
Interbench
Утилита для настройки параметров планировщика ввода/вывода и файловой системы. Её написал Кон Коливас (Con Kolivas), австралийский анестезиолог, который известен своим вкладом в разработку ядра Linux и работой над «справедливым планировщиком процессора».
Interbench измеряет латентность и джиттер при выполнении интерактивных задач, эмулируя функции планировщика CPU. В качестве интерактивной задачи выступает работа со звуком и видео, запуск компьютерной игры или простое перетаскивание диалогового окна в операционной системе. Также Interbench позволяет проводить нагрузочные тесты.
Исходный код, примеры и рекомендации по настройке инструмента можно найти в официальном репозитории на GitHub.
О чем мы пишем в наших блогах:
Бенчмарки для Linux-серверов: 5 открытых инструментов
Резервное копирование файлов: как подстраховаться от потери данных
Как перенести системный жесткий диск в виртуальную машину?
Тренировочный стенд для админов: чем поможет облако
Досмотры гаджетов на границе: как действовать, чтобы не потерять конфиденциальные данные?
Снэпшоты: зачем нужны «снимки»
amarao
Тот факт, что для запуска fio нужно формировать отдельный файл, считается его главным недостатком.
Да что вы говорите?
И где тут файл? Учитесь читать man-страницы, очень помогает.
… Интересно, квалификация разработчиков "1Cloud" такая же, как у автора этого поста, или копирайтеры отдельно, а технари отдельно?