Come cambiano gli IOPS di archiviazione in risposta alla capacità del disco?


12

A parità di altre condizioni, come cambierebbero le prestazioni IOPS di un array di archiviazione se si utilizzassero dischi più grandi.

Ad esempio, prendi un array con 10 dischi da 100 GB.

Misura IOPS per scritture sequenziali a blocchi da 256kb (o qualsiasi metrica IOPS)

Supponiamo che lo IOPS misurato risultante sia 1000 IOPS.

Cambia l'array con uno con 10 dischi da 200 GB. Formatta con la stessa configurazione RAID, stessa dimensione di blocco, ecc.

Ci si aspetterebbe che lo IOPS rimanga lo stesso, aumenti o diminuisca? Il cambiamento sarebbe approssimativamente lineare? cioè aumentare di 2X o diminuire di 2X (poiché ho aumentato la capacità del disco di 2X)

Ripeti queste domande con 10 dischi da 50 GB.

Modifica: più contesto

Questa domanda è risultata come una conversazione tra il mio team di Sysadmin che non è ben versato nella memorizzazione di tutte le cose. (A proprio agio con molti aspetti dell'archiviazione, ma non i dettagli della gestione di una SAN o altro). Stiamo ricevendo una grande quantità di nuovi vassoi Netapp che hanno una maggiore capacità del disco per disco - doppia capacità - rispetto ai nostri vassoi esistenti. Il commento arrivò che gli IOPS dei nuovi vassoi sarebbero stati più bassi solo perché i dischi erano più grandi. Quindi è emersa un'analogia con un'auto per spiegare questo. Nessuno dei due commenti è andato bene con me, quindi ho voluto mandarlo a The Team, ovvero Stack-Exchange-land.

L'analogia con l'auto riguardava due auto, con diversa accelerazione, la stessa velocità massima e un quarto di miglio. Quindi modificare la distanza a mezzo miglio. In realtà, non riesco a ricordare l'esatta analogia, ma da quando ne ho trovata un'altra sull'interwebz simile, ho pensato che probabilmente era un'analogia IOPS comune.

In un certo senso, la risposta effettiva alla domanda non ha molta importanza per me, poiché non stiamo usando queste informazioni per valutare un acquisto. Ma dobbiamo valutare il modo migliore per collegare i vassoi a una testa esistente e il modo migliore per ritagliare aggregati e volumi.


2
Le operazioni di I / O al secondo non aumenteranno se la capacità del disco aumenta, ma sono correlate alla velocità di trasferimento end-to-end e alla velocità di I / O del disco (e memorizzazione nella cache). Qual è il problema specifico che stai cercando di risolvere?
EightBitTony,

3
È ipotetico (e quindi fuori tema)?
mfinni,

Non cambia davvero ... a meno che tu non stia parlando di limitare il movimento della testa attraverso il piatto con un accarezzamento ... O SSD sovradimensionati ...
ewwhite

D'altra parte, i dischi più grandi di solito contengono controller, motori e testine più moderni, i dischi più piccoli di solito semplicemente riutilizzano quelli di generazione precedente che sono "abbastanza buoni", quindi i dischi ad alta capacità sono spesso più veloci ma non perché sono più grandi ma perché lo sono meglio fatto.
Valità,

2
@mfinni: Sfortunatamente esistono servizi nuvolosi che hanno una limitazione artificiale su IOPS in base alla dimensione del disco (virtuale). Vedi la mia risposta per i dettagli. Ho visto "devops" confuso da questo prima.
dotancohen,

Risposte:


8

Per rispondere direttamente alla tua domanda - a parità di altre condizioni = nessuna modifica quando GB cambia.

Non misurate IOPS con GB. Usi il tempo di ricerca e la latenza.

Potrei riscriverlo tutto qui, ma questi esempi qui sotto fanno già tutto questo e lo ripeterò semplicemente:

https://ryanfrantz.com/posts/calculating-disk-iops.html

http://www.big-data-storage.co.uk/how-to-calculate-iops/

http://www.wmarow.com/strcalc/

http://www.thecloudcalculator.com/calculators/disk-raid-and-iops.html



Ma il tempo di ricerca e la latenza non aumentano se un disco ha una capacità maggiore?
JDS,

Non necessariamente @JDS. A volte lo fanno ea volte no perché i produttori inseriscono continuamente più bit nei piatti (più GB) e migliorano continuamente altri aspetti dei loro dischi rigidi. Quando l'unità diventa più grande, spesso ottiene contemporaneamente anche altri aggiornamenti hardware che potrebbero ridurre i tempi di ricerca o la latenza, aumentando così il tuo IOPS. Ma è tutto un punto controverso perché GB non ha una relazione diretta con IOPS, cerca solo i tempi e leggi e scrivi che la latenza influisce sugli IOPS.
Ian Macintosh,

11

So che questa è probabilmente una domanda ipotetica ... Ma il mondo IT non funziona in questo modo. Ci sono vincoli realistici da considerare, oltre ad altre cose che possono influenzare la IOPS ...

  • I dischi da 50 GB e 100 GB non esistono più. Pensa di più: 72, 146, 300, 450, 600, 900, 1200 GB nei dischi aziendali e 500, 1000, 2000, 3000, 4000, 6000 GB nei supporti di archiviazione di massa nearline / midline.

  • C'è così tanta astrazione nell'archiviazione moderna; memorizzazione nella cache del disco, memorizzazione nella cache del controller, offload SSD, ecc. che qualsiasi differenza sarebbe difficile da riconoscere.

  • È necessario considerare diversi fattori di forma dell'unità, interfacce e velocità di rotazione. I dischi SATA hanno un profilo delle prestazioni diverso rispetto a SAS o SAS nearline . I dischi a 7.200 RPM si comportano diversamente da 10.000 RPM o 15.000 RPM. E la disponibilità delle varie velocità di rotazione è limitata a determinate capacità.

  • Layout del controller fisico. Espansori SAS, controller RAID / SAS possono influenzare gli IOPS, a seconda del layout del disco, delle tariffe di sottoscrizione eccessiva, indipendentemente dal fatto che la connettività sia interna al server o in un enclosure esterno. Un gran numero di dischi SATA ha prestazioni scarse sugli espansori e durante le condizioni di errore dell'unità .

  • Alcuni di questi possono essere influenzati dalla frammentazione, capacità utilizzata sull'array di dischi.

  • Hai mai sentito parlare di carezze corte ?

  • Software contro hardware RAID, prefetching, profiling adattivo ...

Cosa ti porta a credere che la capacità avrebbe in primo luogo un impatto sulle prestazioni? Potete fornire più contesto?

Modificare:

Se il tipo di disco, il fattore di forma, l'interfaccia e la capacità utilizzata sono gli stessi, non dovrebbe esserci alcuna differenza apprezzabile in IOPS. Supponiamo che tu stia passando da dischi SAS 10k enterprise da 300 GB a 600 GB. Con lo stesso numero di mandrini, non dovresti vedere alcuna differenza di prestazioni ...

Tuttavia, se gli scaffali del disco NetApp citati impiegano backplane SAS a 6 Gbps o 12 Gbps rispetto a un 3Gbps legacy, è possibile che si verifichi una modifica della velocità effettiva quando si passa a nuove apparecchiature.


Ho modificato la mia domanda originale per aggiungere contesto. I numeri che ho scelto non erano nel mondo reale, erano solo per facilitare i calcoli ipotetici. Inoltre, la maggior parte dei tuoi altri commenti rientra nella colonna "A parità di condizioni". Supponiamo che l' unica cosa che cambia sia la capacità dei singoli dischi
JDS

@JDS Vedi la mia modifica sopra.
ewwhite,

9

Un posto in cui v'è una relazione diretta tra le dimensioni del disco e IOPS è nel Amazon AWS cloud e altri "servizi nuvoloso". Due tipi di servizi AWS ( Elastic Block Store e Relational Database Service ) forniscono IOPS più elevati per dischi di dimensioni maggiori.

Si noti che questa è una restrizione artificiale posta da Amazon sui loro servizi. Non vi è alcun motivo legato all'hardware per questo. Tuttavia, ho visto tipi di devops che non hanno familiarità con l'hardware non virtualizzato che ritiene che questa limitazione sia appropriata anche per sistemi desktop e simili. La relazione dimensione disco / IOPS è una restrizione di marketing cloud, non una restrizione hardware.


1
È un buon punto. Stiamo esaminando gli SLA sulle prestazioni per offrire prestazioni e capacità ai clienti. E stiamo cercando di utilizzare un modello basato su livelli di "iops per terabyte" - l'idea è che possiamo usarlo per informare i nostri cicli di aggiornamento - acquistando SSD se il rapporto IOP: TB è alto e SATA se è basso. Non a causa di limiti o vincoli di array, ma perché dobbiamo avere un controllo sui costi rispetto ai modelli di ricarica.
Sobrique,

2
Interessante. Non ho pensato al contesto nuvoloso qui. Immagino che mostri la prospettiva da cui vengo ...
ewwhite,

4

Dovrei sottolineare che gli IOPS non sono una grande misura della velocità nelle scritture sequenziali, ma lasciamo andare con essa.

Ho il sospetto che i tempi di ricerca e scrittura delle testine del disco siano abbastanza coerenti nonostante le dimensioni dei dischi. 20 anni fa usiamo tutti i dischi da 60 GB con (approssimativamente - certamente non linearmente) le stesse velocità di lettura / scrittura.

Sto facendo un'ipotesi istruita ma non penso che la densità del disco sia correlata linearmente con le prestazioni del disco.

Ad esempio, prendi un array con 10 dischi da 100 GB.

Misura IOPS per scritture sequenziali a blocchi da 256kb (o qualsiasi metrica IOPS)

Supponiamo che lo IOPS misurato risultante sia 1000 IOPS.

ok

Cambia l'array con uno con 10 dischi da 200 GB. Formatta con la stessa configurazione RAID, stessa dimensione di blocco, ecc.

Ci si aspetterebbe che lo IOPS rimanga lo stesso, aumenti o diminuisca?

Probabilmente rimangono all'incirca equivalenti tra loro.

Il cambiamento sarebbe approssimativamente lineare?

La storia dei media spinning mi dice che probabilmente non c'è relazione.

Ripeti queste domande con 10 dischi da 50 GB

Ancora una volta, approssimativamente equivalente.

La tua velocità, in tutti questi casi, deriva dal fatto che il RAID si comporta come un singolo disco con dieci testine di scrittura, quindi puoi inviare 1/10 del lavoro in parallelo a ciascun disco.

Anche se non ho numeri concreti da mostrarti, la mia esperienza passata mi dice che aumentare le prestazioni dei tuoi dischi non è così semplice come ottenere più capacità.

Nonostante ciò che il marketing ti dice sia l'innovazione, prima dell'inizio dei dischi a stato solido (er) economici, negli ultimi 20 anni c'è stato uno sviluppo significativo delle prestazioni dei media di filatura, presumibilmente c'è solo così tanto che puoi uscire dalla ruggine e solo così in fretta possiamo far andare i nostri attuali modelli di testine disco.


Potrebbe esserci qualche miglioramento dovuto all'aumento dei piatti in un'unità o all'aumento della densità del piatto (meno movimento per byte), ma dubito che sia enorme.
Bill Weiss,

Prevedo ciò che ottieni nella densità per cui paghi con precisione.
Matthew Ife,

hai avuto dischi da 60 GB nel 1994 !?
Warren,

3

Le prestazioni aggiunte alle scale di memoria con ogni mandrino aggiunto. La velocità di rotazione del convertitore di frequenza è il fattore più importante, quindi l'aggiunta di un drive da 10k RPM darà maggiori prestazioni (in termini di IO / s in IO casuali o MB / s in IO in streaming) rispetto a un drive da 7.2k RPM. Le dimensioni dell'unità non hanno praticamente alcun effetto.

La gente dice che le piccole unità vanno più velocemente semplicemente perché hai bisogno di più mandrini per TB utilizzabile. L'aumento delle dimensioni dell'unità di questi mandrini non ridurrà le prestazioni, ma consentirà di adattare più dati sui dischi, con conseguente aumento del carico di lavoro.


2

Se si assume che tutto il resto sia uguale, le caratteristiche prestazionali dei dischi di capacità maggiore non cambiano molto. Un'unità da 10K RPM FC ha caratteristiche molto simili indipendentemente dal fatto che si tratti di 300 GB o 3 TB. I piatti ruotano alla stessa velocità e le teste cercano alla stessa velocità.

Allo stesso modo la produttività sostenuta - non molta differenza. Questa è la radice di molti problemi di prestazioni, tuttavia, poiché in molti casi le persone acquistano terabyte, non acquistano IOP o MB / sec.

E ci vorrà 10 volte più tempo per ricostruire / copiare un'unità da 3 TB come un'unità da 300 GB.

Di conseguenza, abbiamo dovuto esaminare una sostanziale sovraccapacità dei progetti di archiviazione: le dimensioni delle unità continuano a crescere, ma la loro capacità di prestazioni non è molto. Quindi, in almeno un caso, abbiamo acquistato ~ 400 TB di spazio di archiviazione per soddisfare un requisito di 100 TB, perché abbiamo bisogno dei mandrini.


0

Se stai ruotando i dischi (non SSD), tutto il resto è uguale, la velocità di trasferimento è maggiore se usi le tracce esterne del disco. Ciò accadrebbe automaticamente se si utilizza un disco riempito solo parzialmente. Allo stesso tempo, se un disco è riempito solo parzialmente, il movimento medio della testa sarebbe inferiore e il numero di movimenti della testa sarebbe inferiore perché ci sono più dati per traccia.

È vero se si utilizza un singolo disco o un'unità RAID.

Ora se stai confrontando dischi da 100 GB e 2000 GB, puoi essere sicuro che tutto il resto non è uguale. Ma se lo stesso produttore offre unità da 500 GB, 1 TB, 1,5 TB e 2 TB con uno, due, tre e quattro piatti, allora tutto il resto sarà probabilmente uguale e 10 x 500 GB sarà più lento di 10 x 2 TB per memorizzare 4 TB di dati (non ci sarà alcuna differenza se si memorizzano solo 100 GB, perché anche le unità da 500 GB saranno quasi vuote).

Ma per le unità RAID, non sarai così limitato dalla velocità di trasferimento, ma dalla latenza di rotazione. Quindi un RPM più alto sarà più importante. E spesso troverai RPM più alti insieme a una capacità inferiore. D'altra parte, se vai con RPM elevati / bassa capacità, potresti anche guardare le unità SSD.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.