Oggi parleremo di strumenti open source per valutare le prestazioni di processori, memoria, sistemi file e sistemi di archiviazione dati.
L'elenco include utility fornite dai residenti di GitHub e dai partecipanti ai thread tematici su Reddit, come Sysbench, UnixBench, Phoronix Test Suite, Vdbench e IOzone.
/ Unsplash /
Questo è uno strumento per test di carico su server MySQL, basato sul progetto LuaJIT, che sviluppa una macchina virtuale per il linguaggio Lua. L'autore dello strumento è il programmatore ed esperto di MySQL Alexey Kopytov. Il progetto è iniziato come un hobby, ma nel tempo ha guadagnato riconoscimenti nella comunità. Oggi sysbench è utilizzato da grandi università e organizzazioni IT .
Durante la conferenza SECR-2017 (registrazione della presentazione ) Alexey ha spiegato che sysbench permette di valutare le prestazioni del database durante il trasferimento su nuove apparecchiature, l'aggiornamento della versione del DBMS o cambiamenti repentini nel numero di richieste. In generale, la sintassi del comando per eseguire un test è la seguente:
sysbench [options]... [testname] [command]Questo comando definisce il tipo (cpu, memory, fileio) e i parametri del test di carico (numero di thread, numero di richieste, velocità di elaborazione delle transazioni). In generale, lo strumento è in grado di gestire milioni di eventi al secondo. Maggiori dettagli sull'architettura e sul funzionamento interno di sysbench sono stati forniti da Alexey Kopytov in uno dei .
Un insieme di strumenti per valutare le prestazioni dei sistemi Unix. È stato presentato dagli ingegneri dell'Università di Monash nel 1983. Da quel momento, il supporto per lo strumento è stato gestito da molte persone, ad esempio, gli autori della rivista sulle microcomputer technology e dal partecipante a LKML David Niemi. La prossima versione dello strumento è gestita da Anthony Voellm () di Microsoft.
UnixBench è costituito da una serie di test individuali. Questi confrontano la velocità di esecuzione del codice su una macchina Unix con le prestazioni di un sistema di riferimento, che è 20-61. Sulla base di questo confronto viene generato un punteggio che determina le prestazioni.
Tra i test disponibili ci sono: Whetstone, che descrive l'efficienza delle operazioni in virgola mobile, File Copy, che valuta la velocità di copia dei dati, e diversi benchmark 2D e 3D. L'elenco completo dei test può essere trovato in . Molti di essi vengono utilizzati per valutare le prestazioni delle macchine virtuali nel cloud.
Questo complesso di test è stato sviluppato dagli autori del sito web Phoronix, dove vengono pubblicate notizie sui distribuzioni GNU/Linux. Per la prima volta, il Test Suite è stato presentato nel 2008, includendo 23 test differenti. Successivamente, gli sviluppatori hanno lanciato un servizio cloud , dove gli utenti potevano pubblicare i propri scenari di test. Oggi su di esso ci sono circa 60 set di benchmark, inclusi quelli legati al machine learning e alla tecnologia ray-tracing.
I set di script specializzati consentono di testare singoli componenti del sistema. Con il loro aiuto, è possibile valutare il tempo di compilazione del kernel e la codifica dei file video, la velocità di compressione degli archivi e altro. Per eseguire i test, basta digitare il comando corrispondente nel terminale. Ad esempio, questo comando avvia la valutazione delle prestazioni della CPU:
phoronix-test-suite benchmark smallptDurante il test, il Test Suite controlla autonomamente lo stato dell'hardware (temperatura della CPU e velocità delle ventole), proteggendo il sistema dal surriscaldamento.

/ Unsplash /
Strumento per generare carico I/O nei sistemi di archiviazione, sviluppato da Oracle. Aiuta a valutare le prestazioni e l'integrità delle storage array (abbiamo preparato una ).
Il funzionamento della soluzione è il seguente: su un sistema reale viene eseguito il programma SWAT (Sun StorageTek Workload Analysis Tool), che crea un dump con tutte le richieste al disco per un certo periodo. Vengono registrati timestamp, tipo di operazione, indirizzo e dimensione del blocco di dati. Successivamente, utilizzando il file di dump, vdbench emula il carico su qualsiasi altro sistema.
L'elenco dei parametri per gestire l'utilità è disponibile nel document . Il codice sorgente dell'utilità può essere trovato .
Utilità da console per la valutazione delle prestazioni dei file system. Essa determina la velocità di lettura, scrittura e riscrittura dei file. Decine di programmatori hanno partecipato allo sviluppo dello strumento, ma l'autore della sua prima versione è l'ingegnere William Norcott. Lo sviluppo è stato supportato da aziende come Apple, NetApp e iXsystems.
Per gestire i flussi e la loro sincronizzazione durante i test, lo strumento utilizza lo standard . Al termine del funzionamento, IOzone genera un rapporto con i risultati o in formato testo, o come foglio elettronico (Excel). Inoltre, lo strumento include uno script gengnuplot.sh, che crea un grafico tridimensionale dai dati delle tabelle. Esempi di tali grafici possono essere trovati nella documentazione dello strumento ().
IOzone è disponibile come profilo di test nel già menzionato Phoronix Test Suite.
Ulteriore lettura dai nostri blog e social:
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Fonte: habr.com
