Today we will discuss open tools for assessing the performance of processors, memory, file systems, and storage systems.
The list includes utilities provided by GitHub residents and participants in relevant Reddit threads — Sysbench, UnixBench, Phoronix Test Suite, Vdbench, and IOzone.
/ Unsplash /
This is a utility for load testing MySQL servers, based on the LuaJIT project, which develops a virtual machine for the Lua language. The author of the tool is programmer and MySQL expert Alexey Kopytov. The project started as a hobby but has gained recognition in the community over time. Today, sysbench is used by major universities and IT organizations. .
During the SECR-2017 conference (the recording of the talk ) Alexey explained that sysbench allows for evaluating database performance when moving to new hardware, upgrading the DBMS version, or sharply changing the number of requests. In general, the syntax of the command for conducting a test looks as follows:
sysbench [options]... [testname] [command]This command defines the type (cpu, memory, fileio) and parameters of the load test (number of threads, number of requests, transaction processing speed). Overall, the tool can handle millions of events per second. More details about the architecture and internal workings of sysbench were shared by Alexey Kopytov in one of .
A set of tools for assessing the performance of Unix systems. It was introduced by engineers from Monash University in 1983. Since then, the tool has been supported by many individuals, including authors from a microcomputer technology magazine and LKML participant David Niemi. The next version of the tool is managed by Anthony Voellm) from Microsoft.
UnixBench consists of a series of individual tests. They compare the speed of code execution on a Unix-managed machine with the performance of a reference system, represented by 20-61. Based on this comparison, a score is generated that determines performance.
Bland de tilgængelige tests findes Whetstone, der beskriver effektiviteten af flydende punkt-operationer, File Copy, der vurderer hastigheden på datakopiering, og flere 2D og 3D benchmarks. Den fulde liste over tests kan findes i . Mange af dem bruges til at vurdere ydeevnen af virtuelle maskiner i skyen.
Dette testsystem er udviklet af forfatterne til websitet Phoronix, som offentliggør nyheder om GNU/Linux distributioner. Test Suite blev første gang præsenteret i 2008 — dengang omfattede det 23 forskellige tests. Senere lancerede udviklerne en cloud-service , hvor brugere kunne offentliggøre deres egne testscripts. I dag har det omkring 60 benchmark-sæt, herunder relateret til maskinlæring og ray-tracing teknologi.
Sæt af specialiserede scripts gør det muligt at teste individuelle systemkomponenter. Med dem kan man vurdere tiden til at kompilere kernen og kodning af videofiler, hastigheden på komprimeringsværktøjer osv. For at køre testene er det tilstrækkeligt at skrive den relevante kommando i konsollen. For eksempel initierer denne kommando vurderingen af CPU-ydeevnen:
phoronix-test-suite benchmark smallptUnder testningen overvåger Test Suite automatisk tilstanden af hardwaren (CPU-temperatur og blæserhastighed) for at beskytte systemet mod overophedning.

/ Unsplash /
Et værktøj til at generere I/O-belastning på disksystemer, udviklet af Oracle. Det hjælper med at vurdere ydeevnen og integriteten af storage systemer (om hvordan man beregner den teoretiske ydeevne af et disksystem, har vi forberedt ).
Løsningen fungerer således: På et reelt system køres programmet SWAT (Sun StorageTek Workload Analysis Tool), som opretter et dump med alle diskadgangsoplysninger i en bestemt periode. Tidsstempel, operationstype, adresse og blokstørrelse registreres. Derefter, ved hjælp af dump-filen, simulerer vdbench belastningen på et hvilket som helst andet system.
Listen over parametre til at styre værktøjet findes i den officielle . Kildekoden til værktøjet kan findes .
Konsolprogram til evaluering af filsystemers ydeevne. Det bestemmer læse-, skrive- og genkskrivningshastigheden for filer. Dutzinde programmerere deltager i udviklingen af værktøjet, men dets første version blev skrevet af ingeniøren William Norcott. Udviklingen blev støttet af virksomheder som Apple, NetApp og iXsystems.
Til styring af strømme og deres synkronisering under testningen bruger værktøjet standard . Efter afslutningen af arbejdet giver IOzone en rapport med resultaterne enten i tekstformat eller i form af et regneark (Excel). Værktøjet inkluderer også et script gengnuplot.sh, som bygger et 3D-diagram ud fra tabeldata. Eksempler på sådanne diagrammer kan findes i værktøjets dokumentation ().
IOzone er tilgængeligt som en testprofil i den allerede nævnte Phoronix Test Suite.
Yderligere læsning fra vores blogs og sociale medier:
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Kilde: habr.com
