Как оценить производительность СХД на Linux: бенчмаркинг с помощью открытых инструментов

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


    Фото — Daniele Levis Pelusi — Unsplash



    Fio


    Fio (расшифровывается как Flexible I/O Tester) создает потоки ввода/вывода данных с диска, чтобы оценить производительность файловой системы Linux. Утилиту можно запустить и на Windows — нужно установить интерфейс командной строки Cygwin. Руководство по настройке есть в репозитории fio на GitHub.

    Автор fio — Йенс Аксбо (Jens Axboe), ответственный за подсистему IO в Linux и разработчик утилиты blktrace для трассировки операций ввода/вывода. Он создал fio, потому что устал писать программы для тестирования специфической нагрузки вручную.

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

    [global]
    	name=fio-rand-read
    	filename=fio-rand-read
    	rw=randread
    	bs=4K
    	direct=0
    	numjobs=1
    	time_based=1
    	runtime=900
    

    Сегодня fio используется крупными компаниями — с утилитой работают в SUSE, Nutanix и IBM.



    Hdparm


    Утилиту написал канадский разработчик Марк Лорд (Mark Lord) в далеком 2005 году. Она до сих пор поддерживается автором и является частью многих популярных дистрибутивов. Главное назначение hdparm — настройка параметров накопителей. Но инструмент можно использовать для проведения простых бенчмарков, например, измерения скорости чтения. Для этого нужно написать в консоли команду:

    $ sudo hdparm -t /dev/sdb

    Система сформирует подобный ответ:

    Timing buffered disk reads: 242 MB in 3.01 seconds = 80.30 MB/sec

    Что касается настройки накопителей, то hdparm позволяет менять объем кеш-памяти, модифицировать параметры спящего режима и электропитания, а также безопасно стирать данные на SSD. Но, как предупреждают специалисты из ArchLinux, неосторожное изменение системных параметров может сделать данные на диске недоступными и даже повредить накопитель. Перед работой с hdparm лучше ознакомиться с руководством — достаточно прописать в консоли команду man hdparm.



    S


    Это — набор бенчмарков для оценки производительности систем ввода/вывода. Авторами утилиты выступила команда разработчиков из группы AlgoDev, в которую входят сотрудники итальянского Университета Модены и Реджо-Эмилии.

    Все бенчмарки представляют собой bash-скрипты, оценивающие производительность системы хранения данных — пропускную способность, латентность, работу планировщиков. К примеру, бенчмарк throughput-sync.sh «бомбардирует» СХД запросами на чтение или запись (в этом случае используется уже упомянутая утилита fio). Вот код этого скрипта.

    Другой скрипт — comm_startup_lat.sh — измеряет задержку чтения данных с диска при «холодном кэше» (когда в нем нет необходимых данных). Код также можно найти в репозитории.




    Фото — Agê Barros — Unsplash



    Bonnie


    Утилита для оценки производительности файловой системы, разработанная в 1989 году. Её автором выступил инженер Тим Брей (Tim Bray). С помощью Bonnie он планировал оптимизировать работу вычислительных систем, задействованных в проекте New Oxford English Dictionary в Университете Ватерлоо.

    Bonnie выполняет произвольное чтение и запись данных на диск. После утилита показывает такие параметры, как число обработанных байтов за CPU-секунду, а также уровень загрузки процессора в процентах. Исходный код бенчмарка можно найти на Google Code.

    На основе Bonnie построен другой комплекс инструментов для тестирования жесткого диска — Bonnie++ (написан на C++, вместо C). В нем приведены дополнительные бенчмарк-инструменты. Например, zcav для оценки производительности различных зон HDD. Также Bonnie++ подходит для тестирования почтовых серверов и серверов баз данных.



    Interbench


    Утилиту разработал Кон Коливас (Con Kolivas), австралийский анестезиолог, который известен своим вкладом в разработку ядра Linux и работой над «справедливым планировщиком процессора». Interbench помогает настроить параметры планировщика ввода/вывода и файловой системы.

    Interbench эмулирует поведение планировщика CPU при выполнении интерактивных задач. Этими интерактивными задачами могут выступать работа со звуком и видео, запуск компьютерных игр или простое перетаскивание диалогового окна в операционной системе.

    Исходный код, примеры и рекомендации по настройке инструмента можно найти в официальном репозитории на GitHub.



    О чем мы пишем в наших блогах:

    Бенчмарки для Linux-серверов: 5 открытых инструментов

    Резервное копирование файлов: как подстраховаться от потери данных
    Как перенести системный жесткий диск в виртуальную машину?
    Тренировочный стенд для админов: чем поможет облако

    Досмотры гаджетов на границе: как действовать, чтобы не потерять конфиденциальные данные?
    Снэпшоты: зачем нужны «снимки»
    • +12
    • 4,7k
    • 2
    1cloud.ru
    307,34
    IaaS, VPS, VDS, Частное и публичное облако, SSL
    Поделиться публикацией

    Комментарии 2

      0
      А ещё естъ Oracle-овый VDBench. Хотя мне fio больше нравится, VDBench имеет возможность выполнять задачи ввода/вывода в параллельных потоках. Кол-во параллельных потоков также параметризуется. Для очень быстрых СХД, это необходимый перк.
        +1

        Не рассказали, как использоваться dd, если совсем нет других утилит (тоже можно использовать для бенчмарка).
        А еще была такая классная утилита как http://www.iometer.org/ Ею меряли скорость RAID-массивов. И можно было ее встретить в результатах статей на iXBT, Ferra и других онлайн-изданий. Странно, но вроде последний релиз был в 2014 — интересно — она уже умерла? Или все-таки дальше ее развивают?

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое