Oggi parleremo di strumenti open source per valutare le prestazioni dei processori, della memoria, dei file system e dei sistemi di archiviazione.
Nella lista sono incluse utility fornite dai membri di GitHub e dai partecipanti ai thread tematici su Reddit: Sysbench, UnixBench, Phoronix Test Suite, Vdbench e IOzone.
/ Unsplash /
Questa è un'utility per il testing delle prestazioni dei server MySQL, basata sul progetto LuaJIT, che sviluppa una macchina virtuale per il linguaggio Lua. L'autore dello strumento è Alexey Kopytov, programmatore ed esperto di MySQL. Il progetto è iniziato come un hobby ma nel tempo ha ottenuto riconoscimento dalla comunità. Oggi sysbench è utilizzato da grandi università e organizzazioni IT .
Durante la conferenza SECR-2017 (video della presentazione ) Alexey ha spiegato che sysbench consente di valutare le prestazioni del database durante il trasferimento su nuovo hardware, l'aggiornamento della versione del DBMS o un cambiamento improvviso 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, memoria, 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 elaborare milioni di eventi al secondo. Maggiori dettagli sull'architettura e il funzionamento interno di sysbench sono stati forniti da Alexey Kopytov in uno dei .
Un insieme di strumenti per la valutazione delle prestazioni dei sistemi Unix. È stato presentato dagli ingegneri dell'Università di Monash nel 1983. Da allora, lo sviluppo dello strumento è stato curato da molte persone, tra cui gli autori della rivista sulle microcomputer e il partecipante a LKML David Niemi. La prossima versione dello strumento è sotto la responsabilità di Anthony Voellm () di Microsoft.
UnixBench consiste in un insieme di test individuali. Questi confrontano la velocità di esecuzione del codice su una macchina Unix con le prestazioni di un sistema di riferimento, rappresentato da 20-61. Sulla base di questo confronto, viene generato un punteggio che determina le prestazioni.
I test disponibili includono: 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. Puoi trovare l'elenco completo dei test in . Molti di essi sono utilizzati per valutare le prestazioni delle macchine virtuali nel cloud.
Questo complesso di test è stato sviluppato dagli autori del sito web Phoronix, che pubblica notizie sui distribuzioni GNU/Linux. Il Test Suite è stato presentato per la prima volta nel 2008, quando includeva 23 test diversi. In seguito, gli sviluppatori hanno lanciato il servizio cloud , dove gli utenti possono pubblicare i propri script di test. Oggi sono circa 60 set di benchmark, inclusi quelli relativi all'apprendimento automatico e alla tecnologia ray-tracing.
I set di script specializzati consentono di testare singoli componenti del sistema. Con essi è possibile valutare il tempo di compilazione del kernel e la codifica di file video, la velocità di compressione dei file zip e altro ancora. Per avviare i test è sufficiente scrivere il comando corrispondente nella console. Ad esempio, questo comando avvia la valutazione delle prestazioni della CPU:
phoronix-test-suite benchmark smallptDurante i test, il Test Suite monitora autonomamente le condizioni del sistema (temperatura della CPU e velocità delle ventole), proteggendo il sistema dal surriscaldamento.

/ Unsplash /
Uno strumento per generare carichi di I/O sui sistemi di archiviazione, sviluppato da Oracle. Aiuta a valutare le prestazioni e l'integrità delle SAN (per capire come calcolare la prestazione teorica del sistema di archiviazione, abbiamo preparato ).
Il funzionamento della soluzione è il seguente: su un sistema reale viene eseguito il programma SWAT (Sun StorageTek Workload Analysis Tool), che crea un dump di tutte le operazioni sul disco in un certo periodo. Vengono registrati timestamp, tipo di operazione, indirizzo e dimensione del blocco dati. Successivamente, utilizzando il file di dump, Vdbench emula il carico su qualsiasi altro sistema.
L'elenco dei parametri per gestire l'utility è disponibile nel documento ufficiale di . Il codice sorgente dell'utilità può essere trovato .
Strumento da riga di comando per valutare le performance dei file system. Determina la velocità di lettura, scrittura e riscrittura dei file. Decine di programmatori hanno contribuito 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 dell'esecuzione, IOzone fornisce un rapporto con i risultati, sia in formato testo che come foglio elettronico (Excel). Inoltre, lo strumento include uno script gengnuplot.sh, che costruisce un grafico tridimensionale basato sui dati delle tabelle. Esempi di tali grafici possono essere trovati nella documentazione dello strumento ().
IOzone è disponibile come profilo di test nel già citato Phoronix Test Suite.
Ulteriori letture dai nostri blog e social media:
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Fonte: habr.com
