Днес ще ви разкажем за откритите инструменти за оценка на производителността на процесори, памет, файлови системи и системи за съхранение на данни.
В списъка са утилити, предлагани от резиденти на GitHub и участници в тематични тредове в Reddit, - Sysbench, UnixBench, Phoronix Test Suite, Vdbench и IOzone.
/ Unsplash /
Това е утилита за натоварващо тестване на MySQL сървъри, базирана на проекта LuaJIT, в рамките на който се разработва виртуална машина за езика Lua. Автор на инструмента е програмистът и експерт по MySQL Алексей Копитов. Проектът започва като хоби, но с времето получава признание от общността. Днес sysbench се използва в работата на големи университети и ИТ организации .
По време на конференцията SECR-2017 (запис на речта ) Алексей разказа, че sysbench позволява оценка на производителността на базата данни при прехвърляне на нова техника, обновяване на версията на СУБД или рязко изменение на броя на запитванията. В общия случай синтаксисът на командата за провеждане на теста изглежда така:
sysbench [options]... [testname] [command]Тази команда определя типа (cpu, memory, fileio) и параметрите на натоварващия тест (броя на нишките, броя на запитванията, скоростта на обработка на транзакции). По принцип инструментът може да обработва милиони събития в секунда. По-подробно относно архитектурата и вътрешната структура на sysbench Алексей Копитов разказа в един от .
Набор от инструменти за оценка на производителността на Unix системите. Той е представен от инженери от университета Монаш през 1983 година. Оттогава поддръжката на инструмента е извършвана от много хора, например, авторите на списанието за микрокомпютърни технологии и участникът в LKML Дейвид Ниеми (David Niemi). За излизането на следващата версия на инструмента отговаря Антъни Воълм () от Microsoft.
UnixBench представлява набор от индивидуални тестове. Те сравняват скоростта на изпълнение на код на машина с Unix с производителността на референтна система, която е 20-61. На базата на това сравнение се генерира резултат, определящ производителността.
Сред налични тестове са: Whetstone, който описва ефективността на операциите с плаваща запетая, File Copy, оценяващ скоростта на копиране на данни, и няколко 2D и 3D бенчмарка. Пълният списък с тестове може да бъде намерен в . Много от тях се използват за оценка на производителността на виртуални машини в облака.
Този комплекс от тестове е разработен от авторите на уеб ресурса Phoronix, на който се публикуват новини за дистрибуции на GNU/Linux. Впервые Test Suite е представен през 2008 година — тогава той включваше 23 различни теста. По-късно разработчиците стартираха облачен сервис , на който потребителите могат да публикуват собствените си тестови сценарии. Днес на него има около 60 бенчмарк-набора, включително свързани с машинно обучение и технологията ray-tracing.
Комплектите специализирани скриптове позволяват тестването на отделни компоненти на системата. С тяхна помощ могат да се оценят времето за компилиране на ядрото и кодиране на видеофайлове, скоростта на компресия на архиватори и др. За стартиране на тестовете е достатъчно да се напише съответната команда в конзолата. Например, тази команда иницира оценка на производителността на CPU:
phoronix-test-suite benchmark smallptПо време на тестването Test Suite самостоятелно контролира състоянието на оборудването (температурата на CPU и скоростта на въртене на вентилаторите), като защитава системата от прегряване.

/ Unsplash /
Инструмент за генериране на I/O натоварване на дискови системи, разработен от Oracle. Той помага за оценка на производителността и целостта на СХД (за това как да се изчисли теоретичната производителност на дисковата система, ние подготвихме ).
Решението работи по следния начин: на реална система се стартира програмата SWAT (Sun StorageTek Workload Analysis Tool), която създава дамп с всички запитвания към диска за определен период. Записват се времеви етикети, тип на операцията, адрес и размер на блока данни. След това, използвайки файла с дампа, vdbench емулира натоварването на всяка друга система.
Списъкът с параметри за управление на утилитата е наличен в официалния . Изходният код на утилитата може да бъде намерен .
Консолната полезност за оценка на производителността на файловите системи. Тя определя скоростта на четене, запис и презапис на файлове. В разработката на инструмента участваха десетки програмисти, но автор на първата версия е Инструментът използва стандарт
POSIX Threads стр. 11–17).
Допълнително четиво от нашите блогове и социални медии:
Бъг в Linux 5.1 водеше до загуба на данни — коригиращият патч вече излезе
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Източник: habr.com
