ProHoster > Blog > podávání > Srovnávací testy pro servery Linux: 5 otevřených nástrojů
Srovnávací testy pro servery Linux: 5 otevřených nástrojů
Dnes budeme hovořit o otevřených nástrojích pro hodnocení výkonu procesorů, paměti, souborových systémů a úložných systémů.
Seznam zahrnuje nástroje nabízené obyvateli GitHubu a účastníky tematických vláken na Redditu – Sysbench, UnixBench, Phoronix Test Suite, Vdbench a IOzone.
Jedná se o utilitu pro zátěžové testování MySQL serverů, vycházející z projektu LuaJIT, v rámci kterého je vyvíjen virtuální stroj pro jazyk Lua. Autorem nástroje je programátor a expert na MySQL Alexey Kopytov. Projekt začal jako koníček, ale postupem času si získal uznání komunity. Dnes sysbench využívají ve své práci velké univerzity a IT organizace. jako IEEE.
Během konference SECR-2017 (záznam projevu k dispozici na YouTube) Alexey řekl, že sysbench umožňuje vyhodnotit výkon databáze při přenosu na nové zařízení, aktualizaci verze DBMS nebo náhlé změně počtu dotazů. Obecně platí, že syntaxe příkazu pro spuštění testu je následující:
sysbench [options]... [testname] [command]
Tento příkaz určuje typ (cpu, paměť, fileio) a parametry zátěžového testu (počet vláken, počet požadavků, rychlost zpracování transakcí). Celkově je nástroj schopen zpracovat miliony událostí za sekundu. Alexey Kopytov hovořil podrobněji o architektuře a vnitřní struktuře sysbench v jednom z epizody Software Development Podcast.
Sada nástrojů pro hodnocení výkonu unixových systémů. To bylo představeno inženýry z Monash University v roce 1983. Od té doby tento nástroj podporuje mnoho lidí, například autoři časopisu o mikropočítačových technologiích Časopis Byte a člen LKML David Niemi. Anthony Voelm je zodpovědný za vydání další verze nástroje (Anthony Voellm) od společnosti Microsoft.
UnixBench je sada vlastních benchmarků. Porovnávají rychlost provádění kódu na unixovém stroji s výkonem referenčního systému, což je SPARCstation 20-61. Na základě tohoto srovnání je vygenerováno skóre výkonu.
Mezi dostupné testy patří: Whetstone, který popisuje efektivitu operací s plovoucí desetinnou čárkou, File Copy, který hodnotí rychlost kopírování dat, a několik 2D a 3D benchmarků. Kompletní seznam testů naleznete v úložiště na GitHubu. Mnoho z nich používá k hodnocení výkonu virtuálních strojů v cloudu.
Tato sada testů byla vyvinuta autory webového zdroje Phoronix, který publikuje novinky o distribucích GNU/Linux. Test Suite byl poprvé představen v roce 2008 – tehdy obsahoval 23 různých testů. Později vývojáři spustili cloudovou službu openbenchmarking.org, kde uživatelé mohli zveřejňovat své vlastní testovací skripty. Dnes na to prezentovány asi 60 sad benchmarků, včetně těch, které se týkají strojového učení a technologie ray-tracing.
Sady specializovaných skriptů umožňují testovat jednotlivé systémové komponenty. S jejich pomocí můžete odhadnout dobu kompilace jádra a kódování video souborů, rychlost komprese archivátorů atd. Pro spuštění testů stačí napsat příslušný příkaz do konzole. Tento příkaz například zahájí vyhodnocení výkonu CPU:
phoronix-test-suite benchmark smallpt
Během testování Test Suite nezávisle monitoruje stav zařízení (teplotu CPU a rychlost otáčení chladiče) a chrání systém před přehřátím.
Nástroj pro generování I/O zátěže na diskových systémech vyvinutý společností Oracle. Pomáhá vyhodnocovat výkon a integritu úložných systémů (připravili jsme informace o tom, jak vypočítat teoretický výkon diskového systému stručné informace).
Řešení funguje následovně: na reálném systému se spustí program SWAT (Sun StorageTek Workload Analysis Tool), který vytvoří výpis se všemi přístupy na disk za určité období. Zaznamenává se časové razítko, typ operace, adresa a velikost bloku dat. Dále pomocí souboru výpisu emuluje vdbench zatížení na jakémkoli jiném systému.
Konzolový nástroj pro vyhodnocování výkonu souborových systémů. Určuje rychlost čtení, zápisu a přepisování souborů. Na vývoji nástroje se podílely desítky programátorů, ale autor jeho první verze za inženýr William Norcott. Vývoj podpořily společnosti jako Apple, NetApp a iXsystems.
Pro správu vláken a jejich synchronizaci během testování nástroj používá standard Vlákna POSIX. Po dokončení práce IOzone vypracuje zprávu s výsledky buď v textovém formátu nebo ve formě tabulkového procesoru (Excel). Nástroj také obsahuje skript gengnuplot.sh, který vytváří trojrozměrný graf na základě tabulkových dat. Příklady takových grafů lze nalézt v dokumentaci k nástroji (s. 11–17).
IOzone je k dispozici jako testovací profil v již zmíněném Phoronix Test Suite.