Днес ще ви разкажем за отворените инструменти за оценка на производителността на процесорите, паметта, файловите системи и системите за съхранение на данни.
В списъка влизат утилити, предложени от резиденти на 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 Дейвид Ниеми. За излизането на следващата версия на инструмента отговаря Антъни Воелм) от 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 емулира натоварването на всяка друга система.
Списък на параметрите за управление на утилитата можете да намерите в официалния . Изходният код на утилитата можете да намерите .
Конзолна утилита за оценка на производителността на файловите системи. Тя определя скоростта на четене, запис и повторно записване на файлове. В разработката на инструмента участваха десетки програмисти, но авторът на първата му версия е инженер Уилям Норкот (William Norcott). Разработката се подкрепя от компании като Apple, NetApp и iXsystems.
За управление на потоките и тяхната синхронизация по време на тестването инструментът използва стандарт . След приключване на работата IOzone издава отчет с резултатите или в текстов формат, или под формата на електронна таблица (Excel). Инструментът също така включва скрипт gengnuplot.sh, който строи триизмерен график от данните в таблиците. Примери за такива графики можете да намерите в документацията на инструмента ().
IOzone е наличен като тестов профил в вече споменатия Phoronix Test Suite.
Допълнително четиво от нашите блогове и социални мрежи:
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Източник: habr.com
