- PVSM.RU - https://www.pvsm.ru -
Сегодня мы расскажем об открытых инструментах для оценки производительности процессоров, памяти, файловых систем и систем хранения данных.
В список вошли утилиты, предлагаемые резидентами GitHub и участниками тематических тредов на Reddit, — Sysbench, UnixBench, Phoronix Test Suite, Vdbench и IOzone.
[1]
/ Unsplash / Veri Ivanova [2]
Это — утилита для нагрузочного тестирования MySQL-серверов, основанная на проекте LuaJIT, в рамках которого разрабатывается виртуальная машина для языка Lua. Автор инструмента — программист и эксперт по MySQL Алексей Копытов. Проект начинался как хобби, но со временем обрел признание сообщества. Сегодня sysbench используют в своей работе крупные университеты и ИТ-организации вроде IEEE [4].
Во время конференции SECR-2017 (запись выступления есть на YouTube [5]) Алексей рассказал, что sysbench позволяет оценить производительность базы данных при переносе на новое оборудование, обновлении версии СУБД или резком изменении числа запросов. В общем случае синтаксис команды для проведения теста выглядит следующим образом:
sysbench [options]... [testname] [command]
Эта команда определяет тип (cpu, memory, fileio) и параметры нагрузочного теста (количество потоков, число запросов, скорость обработки транзакций). В целом инструмент способен обрабатывать миллионы событий за секунду. Подробнее об архитектуре и внутреннем устройстве sysbench Алексей Копытов рассказал в одном из выпусков подкаста Software Development Podcast [6].
Набор инструментов для оценки производительности 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, на котором публикуются новости о дистрибутивах GNU/Linux. Впервые Test Suite представили в 2008 году — тогда он включал 23 различных теста. Позже разработчики запустили облачный сервис OpenBenchmarking.org [12], на котором пользователи могли публиковать собственные тестовые сценарии. Сегодня на нем представлено [13] около 60 бенчмарк-наборов, в том числе связанных с машинным обучением и технологией ray-tracing.
Наборы специализированных скриптов позволяют протестировать отдельные компоненты системы. С их помощью можно оценить время компиляции ядра и кодирования видеофайлов, скорость сжатия архиваторов и др. Для запуска тестов достаточно написать соответствующую команду в консоли. Например, эта команда инициирует оценку производительности CPU:
phoronix-test-suite benchmark smallpt
Во время тестирования Test Suite самостоятельно контролирует состояние оборудования (температуру CPU и скорость вращения кулеров), защищая систему от перегрева.
Инструмент для генерации I/O-нагрузки на дисковые системы, разработанный Oracle. Он помогает оценить производительность и целостность СХД (о том, как посчитать теоретическую производительность дисковой системы, мы подготовили краткую справку [16]).
Работает решение следующим образом: на реальной системе запускается программа SWAT (Sun StorageTek Workload Analysis Tool), которая создает дамп со всеми обращениями к диску за определённый период. Записываются метка времени, тип операции, адрес и размер блока данных. Далее, используя файл с дампом, vdbench эмулирует нагрузку на любой другой системе.
Список параметров для управления утилитой есть в официальном документе Oracle [17]. Исходный код утилиты можно найти на сайте компании [18].
Консольная утилита для оценки производительности файловых систем. Она определяет скорость чтения, записи и перезаписи файлов. В разработке инструмента приняли участие десятки программистов, но автором его первой версии считается [20] инженер Уильям Норкотт (William Norcott). Разработку поддержали такие компании, как Apple, NetApp и iXsystems.
Для управления потоками и их синхронизации во время тестирования инструмент использует стандарт POSIX Threads [21]. По завершении работы IOzone выдает отчет с результатами или в текстовом формате, или в виде электронной таблицы (Excel). Также инструмент имеет в составе скрипт gengnuplot.sh, который строит по данным таблиц трехмерный график. Примеры таких графиков можно найти в документации к инструменту (стр. 11–17 [22]).
IOzone доступен в качестве тестового профайла в уже упомянутом Phoronix Test Suite.
Дополнительное чтение из наших блогов и социальных сетей:
Баг в Linux 5.1 приводил к потере данных — корректирующий патч уже вышел [23]
Есть мнение: технология DANE для браузеров провалилась [24]Зачем нужен мониторинг? [25]
Резервное копирование файлов: как подстраховаться от потери данных [26]
Как перенести системный жесткий диск в виртуальную машину? [27]Все говорят об утечках ПД — чем поможет IaaS-провайдер [28]
Короткий ликбез: как устроена ЭЦП [29]
Справочная: как работает закон о персональных данных [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
Нажмите здесь для печати.