Indice articoli

Potete avere tra le mani un PC, una workstation o un server da diverse migliaia di euro: per capire limiti e potenzialità del vostro hardware non basta conoscerne la CPU, la RAM o altre caratteristiche. In quasi tutti i casi le prestazioni saranno determinate in gran parte dallo storage, che si tratti di un disco o di una SSD.

Quando dalle macchine fisiche si passa a quelle virtuali, in cui anche un server di fascia medio bassa si trova a far girare diverse VM, le prestazioni I/O (input/output) diventano ancora più importanti. Essere in grado di valutarle non è però del tutto scontato, ma anzi può essere davvero difficile. Certo una rapida copia di un file da un disco all'altro o l'esecuzione di un comando dd su una macchina Linux potrebbe darvi una pur vaga idea delle prestazioni, ma è molto facile prendere degli abbagli, non considerando ad esempio la presenza di cache in lettura e in scrittura sul controller o le funzioni di caching del sistema operativo host (vSphere, Hyper-V o qualsiasi altro hypervisor) e di quello guest. Spesso poi ci si limita a prendere in considerazione esclusivamente le velocità sequenziali di lettura/scrittura che danno però solo una idea di massima, senza considerare il comportamento dello storage in termini di numero di operazioni di I/O al secondo.

Per aiutarvi a capire come valutare queste prestazioni vi illustriamo la nostra metodologia di test nella valutazione delle prestazioni di dischi e SSD.

I test di cui vi parliamo possono essere sfruttati anche in situazioni differenti e si focalizzano sulle prestazioni intrinseche dei dischi ma anche sulla loro durata nel tempo e sul loro comportamento con carichi di lavoro tipici, quali Web Server, File Server o Database, in modo da offrire una anteprima concreta dei risultati che si potranno ottenere in pratica.

La cassetta degli attrezzi

Lo strumento che più utilizziamo in fase di benchmarking dei dischi è IOmeter, uno dei software più versatili e potenti dell’intero panorama del test hardware.
Sviluppato in diretta collaborazione con le maggiori case produttrici questo software permette la creazione di agenti multipli e configurazioni avanzate in grado di eseguire qualunque carico di lavoro su un disco, locale o di rete.

001 maschera 1In particolare tramite una maschera molto semplice è possibile configurare tutti i parametri tecnici relativi alle transazioni dati verso il sistema di storage: la grandezza del dato da trasferire, un’eventuale risposta, il delay e, un eventuale allineamento dei dati con i settori del disco, la distribuzione in termini di lettura/scrittura e sequenziale/random e anche la creazione di profili che incorporano più elementi singoli contestualmente, eseguiti in percentuale predefinita durante il test.
I test sono normalmente eseguiti sul disco privo di partizioni e non formattato, in modo da valutare più le prestazioni dell’unità che quelle eventualmente falsate dovute alla logica del sistema operativo.

002 maschera 2È inoltre necessario impostare nelle opzioni principali anche l’utilizzo di dati casuali e non di un pattern specifico (che può essere individuato dai controller più evoluti e trattato in maniera privilegiata). In questa schermata si può anche definire la zona specifica del disco su cui indagare e definirne i parametri di ampiezza, il tutto utilizzando come unità di misura i “settori” del disco.
Tutti i risultati sono salvati da IOmeter in un log in formato Csv, che può essere importato ed elaborato direttamente in Excel.


Trasferimento Sequenziale

Per valutare le capacità di trasferimento sequenziale utilizziamo, oltre a IOmeter, un software dedicato precisamente allo scopo: Atto Disk Benchmark.
Questo strumento è decisamente più semplice da utilizzare e permette, attraverso una semplice interfaccia grafica, di visualizzare le velocità di trasferimento sequenziali (sia in lettura sia in scrittura) di una determinata partizione disco, con una coda comandi variabile. Per ottenere la velocità massima utilizziamo una coda comandi di valore 10 (i risultati sono normalmente poco variabili oltre 4, ma in questo caso la valutazione viene fatta sul massimo raggiungibile dal disco).

003 attoI dati esposti sono spesso interessanti; è infatti possibile valutare la velocità massima di trasferimento con file di dimensioni variabili, da pochi Kbyte fino a 8 Mbyte.
Il dato è sempre convalidato da IOmeter con una configurazione simile ma calibrata in maniera più precisa, come mostrato nell’immagine sottostante.

004 io seqUtilizziamo un trasferimento in lettura (o scrittura) di 2 Mbyte con una coda comandi variabile da 1 a 256, in modo da valutare la velocità di assestamento del disco e le sue velocità di picco anche con code comandi tipiche dei sistemi operativi moderni (la media è 4).


Trasferimento Casuale

Per valutare le capacità del disco in ambito di trasferimento casuale impostiamo IOmeter in modo da valutare le velocità con coda comandi variabile (da 1 a 256) di blocchi dati da 4 Kbyte in maniera casuale.

005 io randIn questo caso teniamo in considerazione sia la pura velocità di trasferimento sia il numero di IOps (operazioni al secondo) effettuabili dal disco. In questo caso tradizionalmente i valori sono molto bassi per coda comandi 1 o 2, salendo esponenzialmente fino a 8 o 16 quando si stabilizza per tutti i dischi. La percentuale raggiunta con coda comandi 4 rispetto al massimo assoluto rappresenta un ottimo indicatore della bontà del controller integrato.

006 neutron rand



Consistenza delle prestazioni

I moderni Ssd utilizzano meccanismo interni di wear leveling tali da mantenere le prestazioni costanti nel tempo. Questi algoritmi, se ben realizzati e messi in pratica da un controller sufficientemente potente, permettono al disco di mantenere valori di trasferimento costanti nel tempo, anche se, nel frattempo, intervengono meccanismi per preservarne la velocità (controller multitasking).

007 io consistenzaPer misurare ciò mettiamo a dura prova il disco effettuando un test continuo della durata di 20 minuti durante i quali, in maniera continua, leggiamo o scriviamo blocchi da 4 Kbyte con coda comandi 32. Il valore che ci interessa è il numero di IOps ottenibili, che deve risultare il più stabile possibile nel tempo. Un calo dopo lo spunto iniziale è normale; ma più esso è ridotto e meglio il disco si comporta nel tempo.

007 io consistenzaScalabilità

Uno dei parametri più interessanti per l’analisi di un Ssd e del suo controller integrato è la scalabilità. Ovvero la capacità di incrementare le prestazioni al crescere delle richieste o delle dimensioni dei file. Nel nostro caso analizziamo in maniera approfondita la velocità di trasferimento sequenziale con coda 32 di dati con dimensione crescente da 1 a 2048 Kbyte.

009 neutron scalaIn un modello ideale il grafico è piatto, ovvero offre le medesime prestazioni con qualunque dimensione file. Nella pratica è impossibile che, con dati da 1 Kbyte, si possano raggiungere velocità elevatissime, ma la ripidità della curva e quindi il tempo necessario al raggiungimento del massimo, è il parametro chiave nella valutazione della scalabilità.


Utilizzo misto

Ovviamente nessun disco viene utilizzato esclusivamente per leggere o scrivere dati. In ogni caso siamo sempre in presenza di un misto delle due attività.
Per valutare come il controller riesce a districarsi tra attività differenti effettuiamo un test in cui effettuiamo un trasferimento di 128 Kbyte con coda 32 con percentuali di lettura e scrittura variabili da 100/0 a 0/100 %.

010 io mixedI due estremi vanno asintoticamente ai valori di trasferimento sequenziali massimi visti in precedenza, mentre il grafico ottenuto presenta solitamente una concavità in cui la velocità media con transazioni miste è molto inferiore ai massimi. In un controller perfetto il grafico dovrebbe essere piatto; mentre nella realtà un indice di performance può essere ricavato dal rapporto tra il minimo e il massimo.

011 neutron mixedUtilizzo Server o Workstation

IOmeter può essere utilizzato anche per valutare un disco in un utilizzo più realistico, simulando le operazioni di IO tipiche di Web Server, File Server, Database o Workstation.
La nostra tabella tipica di utilizzo è la seguente:

ProfiliLetture / ScrittureRandom / SequenzialeDimensione blocchi
Database67% / 33%100% / 0%8 KB - 100%
Fileserver80% / 20%100% / 0%512 Bytes – 10%
1 KB – 5%
2 KB – 5%
4 KB – 60%
8 KB – 2%
16 KB – 4%
32 KB – 4%
64 KB – 10%
Web server100% / 0%100% / 0%512 Bytes – 22%
1 KB – 15%
2 KB – 8%
4 KB – 23%
8 KB – 15%
16 KB – 2%
32 KB - 6%
64 KB – 7%
128 KB – 1%
512 KB – 1%
Workstation80% / 20%80% / 20%8 KB - 100%

In questo caso siamo interessati sia alle IOps sia alla velocità di trasferimento. Essendo i profili differenti possiamo infatti ottenere “classifiche” molto diverse per ogni disco analizzato.

013 neutron serverA titolo di confronto i dischi meccanici, nelle stesse condizioni, raramente superano i 10 Mbyte/s.

 

L'autore

Davide Piumetti

Davide Piumetti

Laureato in ingegneria delle telecomunicazioni lavora nel settore del giornalismo informatico da oltre 10 anni, collaborando con storiche realtà del settore sia sul web sia cartacee. Vanta lunghe collaborazioni con PcTuner, PC Professionale, Panorama e altri siti indipendenti. Esperto nella materia hardware e appassionato di tecnologia e scienze applicate, utilizza un approccio scientifico all'analisi di componenti e piattaforme.

Si occupa principalmente di argomenti tecnici come processi produttivi, Cpu, schede madri, sistemi di storage e integrazione hardware di sistemi distribuiti.

banner5

fb icon evo twitter icon evo

Parola del giorno

L'acronimo SoC  (System on a Chip) nasce per descrivere quei circuiti integrati che, all'interno di un singolo chip fisico, contengono un...

>

YAML è un formato utilizzato per serializzare (ovvero salvare oggetti su supporti di memoria ad accesso seriale) dati, in modo...

>

Il termine Edge Computing descrive, all'interno di infrastrutture cloud-based, l'insieme di dispositivi e di tecnologie che permettono l'elaborazione dei dati ai...

>

L'acronimo FPGA  (Field Programmable Gate Array), descrive quei dispositivi hardware formati da un circuito integrato e con funzionalità programmabili tramite...

>

Il termine Agentless (computing) descrive operazioni dove non è necessaria la presenza e l'esecuzione di un servizio software (demone o...

>
Leggi anche le altre...

Download del giorno

Fiddler

Fiddler è un server proxy che può girare in locale per consentire il debug delle applicazioni e il...

>

Adapter Watch

Adapter Watch è uno strumento che permette di visualizzare un riepilogo completo e dettagliato delle informazioni riguardanti una determinata...

>

DNS DataView

DNS Lookup  è un tool a interfaccia grafica per effettuare il lookup DNS dal proprio PC, sfruttando i...

>

SolarWinds Traceroute NG

SolarWinds Traceroute NG è un tool a linea di comando per effettuare traceroute avanzati in ambiente Windows...

>

Network Inventory Advisor

Network Inventory Advisor  è uno strumento che permette di scansionare la rete e acquisire informazioni riguardanti tutti i...

>
Tutti i Download del giorno...

Archivio numeri

  • GURU advisor: numero 21 - maggio 2019

    GURU advisor: numero 21 - maggio 2019

  • GURU advisor: numero 20 - dicembre 2018

    GURU advisor: numero 20 - dicembre 2018

  • GURU advisor: numero 19 - luglio 2018

    GURU advisor: numero 19 - luglio 2018

  • GURU advisor: numero 18 - aprile 2018

    GURU advisor: numero 18 - aprile 2018

  • GURU advisor: numero 17 - gennaio 2018

    GURU advisor: numero 17 - gennaio 2018

  • GURU advisor: numero 16 - ottobre 2017

    GURU advisor: numero 16 - ottobre 2017

  • GURU advisor: numero 15 - luglio 2017

    GURU advisor: numero 15 - luglio 2017

  • GURU advisor: numero 14 - maggio 2017

    GURU advisor: numero 14 - maggio 2017

  • 1
  • 2
  • 3
  • Teslacrypt: rilasciata la chiave

    Gli sviluppatori del temuto ransomware TeslaCrypt hanno deciso di terminare il progetto di diffusione e sviluppo e consegnare al pubblico la chiave universale per decifrare i file. Read More
  • Proxmox 4.1 sfida vSphere

    Proxmox VE (da qui in avanti semplicemente Proxmox) è basato sul sistema operativo Debian e porta con sé vantaggi e svantaggi di questa nota distribuzione Linux: un sistema operativo stabile, sicuro, diffuso e ben collaudato. Read More
  • Malware: risvolti legali

    tutti i virus e in particolare i più recenti Ransomware, che rubano i vostri dati e vi chiedono un riscatto, violano la legge. Vediamo insieme come comportarsi, per capire anche se e quando bisogna sporgere denuncia. Read More
  • 1