- PVSM.RU - https://www.pvsm.ru -

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

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

В список вошли утилиты, предлагаемые резидентами GitHub и участниками тематических тредов на Reddit, — Sysbench, UnixBench, Phoronix Test Suite, Vdbench и IOzone.

Бенчмарки для Linux-серверов: 5 открытых инструментов - 1 [1]
/ Unsplash / Veri Ivanova [2]

Sysbench [3]

Это — утилита для нагрузочного тестирования MySQL-серверов, основанная на проекте LuaJIT, в рамках которого разрабатывается виртуальная машина для языка Lua. Автор инструмента — программист и эксперт по MySQL Алексей Копытов. Проект начинался как хобби, но со временем обрел признание сообщества. Сегодня sysbench используют в своей работе крупные университеты и ИТ-организации вроде IEEE [4].

Во время конференции SECR-2017 (запись выступления есть на YouTube [5]) Алексей рассказал, что sysbench позволяет оценить производительность базы данных при переносе на новое оборудование, обновлении версии СУБД или резком изменении числа запросов. В общем случае синтаксис команды для проведения теста выглядит следующим образом:

sysbench [options]... [testname] [command]

Эта команда определяет тип (cpu, memory, fileio) и параметры нагрузочного теста (количество потоков, число запросов, скорость обработки транзакций). В целом инструмент способен обрабатывать миллионы событий за секунду. Подробнее об архитектуре и внутреннем устройстве sysbench Алексей Копытов рассказал в одном из выпусков подкаста Software Development Podcast [6].


UnixBench [7]

Набор инструментов для оценки производительности Unix-систем. Его представили инженеры из университета Монаша в 1983 году. С того момента поддержкой инструмента занималось множество людей, например, авторы журнала о микрокомпьютерных технологиях Byte Magazine [8] и участник LKML Дэвид Ниеми (David Niemi). За выход следующей версии инструмента отвечает Энтони Воэлм (Anthony Voellm [9]) из Microsoft.

UnixBench представляет собой набор индивидуальных тестов. Они сопоставляют скорость выполнения кода на машине под управлением Unix с производительностью эталонной системы, в роли которой выступает SPARCstation [10] 20-61. На основе этого сравнения генерируется балл, определяющий производительность.

Среди доступных тестов числятся: Whetstone, который описывает эффективность операций с плавающей точкой, File Copy, оценивающий скорость копирования данных, и несколько 2D и 3D-бенчмарков. Полный список тестов можно найти в репозитории на GitHub [7]. Многие из них используют для оценки производительность виртуальных машин в облаке.


Phoronix Test Suite [11]

Этот комплекс тестов разработан авторами веб-ресурса Phoronix, на котором публикуются новости о дистрибутивах GNU/Linux. Впервые Test Suite представили в 2008 году — тогда он включал 23 различных теста. Позже разработчики запустили облачный сервис OpenBenchmarking.org [12], на котором пользователи могли публиковать собственные тестовые сценарии. Сегодня на нем представлено [13] около 60 бенчмарк-наборов, в том числе связанных с машинным обучением и технологией ray-tracing.

Наборы специализированных скриптов позволяют протестировать отдельные компоненты системы. С их помощью можно оценить время компиляции ядра и кодирования видеофайлов, скорость сжатия архиваторов и др. Для запуска тестов достаточно написать соответствующую команду в консоли. Например, эта команда инициирует оценку производительности CPU:

phoronix-test-suite benchmark smallpt

Во время тестирования Test Suite самостоятельно контролирует состояние оборудования (температуру CPU и скорость вращения кулеров), защищая систему от перегрева.


Бенчмарки для Linux-серверов: 5 открытых инструментов - 2
/ Unsplash / Jason Chen [14]


Vdbench [15]

Инструмент для генерации I/O-нагрузки на дисковые системы, разработанный Oracle. Он помогает оценить производительность и целостность СХД (о том, как посчитать теоретическую производительность дисковой системы, мы подготовили краткую справку [16]).

Работает решение следующим образом: на реальной системе запускается программа SWAT (Sun StorageTek Workload Analysis Tool), которая создает дамп со всеми обращениями к диску за определённый период. Записываются метка времени, тип операции, адрес и размер блока данных. Далее, используя файл с дампом, vdbench эмулирует нагрузку на любой другой системе.

Список параметров для управления утилитой есть в официальном документе Oracle [17]. Исходный код утилиты можно найти на сайте компании [18].


IOzone [19]

Консольная утилита для оценки производительности файловых систем. Она определяет скорость чтения, записи и перезаписи файлов. В разработке инструмента приняли участие десятки программистов, но автором его первой версии считается [20] инженер Уильям Норкотт (William Norcott). Разработку поддержали такие компании, как Apple, NetApp и iXsystems.

Для управления потоками и их синхронизации во время тестирования инструмент использует стандарт POSIX Threads [21]. По завершении работы IOzone выдает отчет с результатами или в текстовом формате, или в виде электронной таблицы (Excel). Также инструмент имеет в составе скрипт gengnuplot.sh, который строит по данным таблиц трехмерный график. Примеры таких графиков можно найти в документации к инструменту (стр. 11–17 [22]).

IOzone доступен в качестве тестового профайла в уже упомянутом Phoronix Test Suite.


Дополнительное чтение из наших блогов и социальных сетей:

Бенчмарки для Linux-серверов: 5 открытых инструментов - 3 Баг в Linux 5.1 приводил к потере данных — корректирующий патч уже вышел [23]
Бенчмарки для Linux-серверов: 5 открытых инструментов - 4 Есть мнение: технология DANE для браузеров провалилась [24]

Бенчмарки для Linux-серверов: 5 открытых инструментов - 5 Зачем нужен мониторинг? [25]
Бенчмарки для Linux-серверов: 5 открытых инструментов - 6 Резервное копирование файлов: как подстраховаться от потери данных [26]
Бенчмарки для Linux-серверов: 5 открытых инструментов - 7 Как перенести системный жесткий диск в виртуальную машину? [27]

Бенчмарки для Linux-серверов: 5 открытых инструментов - 8 Все говорят об утечках ПД — чем поможет IaaS-провайдер [28]
Бенчмарки для Linux-серверов: 5 открытых инструментов - 9 Короткий ликбез: как устроена ЭЦП [29]
Бенчмарки для Linux-серверов: 5 открытых инструментов - 10 Справочная: как работает закон о персональных данных [30]

Автор: 1cloud

Источник [31]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/320638

Ссылки в тексте:

[1] Image: https://habr.com/ru/company/1cloud/blog/455834/

[2] Veri Ivanova: https://unsplash.com/photos/p3Pj7jOYvnM

[3] Sysbench: https://github.com/akopytov/sysbench

[4] вроде IEEE: https://core.ac.uk/download/pdf/73346391.pdf

[5] есть на YouTube: https://www.youtube.com/watch?v=o3Y9emQ7S6w

[6] выпусков подкаста Software Development Podcast: https://sdcast.ksdaemon.ru/2018/07/sdcast-83/#t=0:27.168

[7] UnixBench: https://github.com/kdlucas/byte-unixbench

[8] Byte Magazine: https://en.wikipedia.org/wiki/Byte_(magazine)

[9] Anthony Voellm: https://github.com/voellm

[10] SPARCstation: https://ru.wikipedia.org/wiki/SPARCstation

[11] Phoronix Test Suite: https://github.com/phoronix-test-suite/phoronix-test-suite

[12] OpenBenchmarking.org: https://www.openbenchmarking.org/

[13] представлено: https://openbenchmarking.org/suites/pts

[14] Jason Chen: https://unsplash.com/photos/bEXy1YQNIII

[15] Vdbench: https://www.oracle.com/technetwork/server-storage/vdbench-downloads-1901681.html

[16] краткую справку: https://1cloud.ru/help/getting-started/izmerenie-proizvoditelnosti?utm_source=habrahabr&utm_medium=cpm&utm_campaign=bench&utm_content=site

[17] документе Oracle: https://www.oracle.com/technetwork/server-storage/vdbench-1901683.pdf

[18] на сайте компании: https://www.oracle.com/technetwork/server-storage/vdbench-source-download-2104625.html

[19] IOzone: http://www.iozone.org/

[20] считается: https://en.wikipedia.org/wiki/IOzone

[21] POSIX Threads: https://ru.wikipedia.org/wiki/POSIX_Threads

[22] стр. 11–17: http://www.iozone.org/docs/IOzone_msword_98.pdf

[23] Баг в Linux 5.1 приводил к потере данных — корректирующий патч уже вышел: https://habr.com/ru/company/1cloud/blog/454978/

[24] Есть мнение: технология DANE для браузеров провалилась: https://habr.com/ru/company/1cloud/blog/454322/

[25] Зачем нужен мониторинг?: https://1cloud.ru/blog/zachem-nujen-monitoring?utm_source=habrahabr&utm_medium=cpm&utm_campaign=bench&utm_content=blog

[26] Резервное копирование файлов: как подстраховаться от потери данных: https://1cloud.ru/blog/rezervnoe-kopirovanie-failov?utm_source=habrahabr&utm_medium=cpm&utm_campaign=bench&utm_content=blog

[27] Как перенести системный жесткий диск в виртуальную машину?: https://1cloud.ru/blog/sozdanie-virtualnoj-mashiny-v-oblake?utm_source=habrahabr&utm_medium=cpm&utm_campaign=bench&utm_content=blog

[28] Все говорят об утечках ПД — чем поможет IaaS-провайдер: https://www.facebook.com/1cloudru/posts/2344509895871517

[29] Короткий ликбез: как устроена ЭЦП: https://www.facebook.com/1cloudru/posts/2339681866354320

[30] Справочная: как работает закон о персональных данных: https://www.facebook.com/1cloudru/posts/2337994446523062

[31] Источник: https://habr.com/ru/post/455834/?utm_source=habrahabr&utm_medium=rss&utm_campaign=455834