Quanto sono veloci i tuoi volumi AWS EBS?

Contenuti

Logo AWS

La velocità del disco è una parte importante della misurazione delle prestazioni di un server. AWS ha molti tipi diversi di volumi EBS e utilizza un modello di repository burst, equivalente alle istanze T2, per impostare la velocità complessiva del tuo disco.

La maggior parte dei carichi di lavoro del server probabilmente include una qualche forma di memorizzazione nella cache, quindi se hai abbastanza RAM, la velocità del tuo disco potrebbe non avere molta importanza; una volta letto un file, può rimanere in memoria per un po'. Ma per carichi di lavoro ad alta intensità di scrittura, la velocità del disco inizia a diventare il fattore limitante e può aumentare o diminuire le prestazioni del server.

Spiegazione delle prestazioni IOPS e SSD

AWS elenca e misura la velocità SSD tramite operazioni di I/O al secondo (IOPS). Questa è in gran parte solo una misura della velocità di lettura e scrittura casuale 4K del dispositivo..

Gli SSD funzionano in modo diverso con carichi di lavoro diversi, quindi ci sono alcune alternative per misurare quanto sono veloci. Il primo è la velocità di lettura e scrittura sequenziale, che misura la velocità di lettura di un file di grandi dimensioni dal disco. La velocità conta, soprattutto quando si lavora con i big data, ma questo è lo scenario ideale e, Nel mondo reale, Gli SSD spesso devono estrarre dati da più posizioni contemporaneamente.

IMPARENTATO: Come testare la velocità del disco e la RAM del tuo server Linux

Una metrica migliore è la performance casuale. Questo benchmark legge e scrive file in blocchi delle dimensioni di 4096 byte in posizioni casuali, da qui il nome “4K Casuale”. Riproduce in modo più accurato il carico del mondo reale che l'SSD potrebbe dover affrontare.

I punti di riferimento casuali possono variare in base alla profondità della coda, una misura di quanto l'SSD deve elaborare in questo momento. Quando si interroga l'SSD per un mucchio di file, la profondità della coda sarà alta, che accelera le prestazioni. Ma le prestazioni di riferimento si misurano alla profondità della coda 1, che sembra essere ciò che AWS misura sui propri SSD.

Punto di regolazione della velocità del disco

La IOPS è una misura del numero di operazioni effettive in corso. La formula per trovare IOPS da MB / sì:

IOPS = (MBps / KB per operazione) * 1024

E come leggiamo 4 KB allo stesso tempo, la formula diventa:

IOPS = MBps * 256

L'SSD desktop nello screenshot qui sopra avrebbe più di 13,000 IOPS, che è abbastanza buono per un SSD NVME di 2 TB.

Il modello cubo esplosivo

La cosa principale che complica i volumi di AWS EBS è il burst delle prestazioni. Funziona più o meno allo stesso modo di come funzionano le istanze T2 / T3: quando il disco è inattivo, accumula crediti E / S ad una velocità determinata dalla dimensione del volume.

Questi crediti stanno arrivando a uno “depositare”, che li accumula fino ad un massimo di 5,4 milioni, sufficiente per ottenere le massime prestazioni durante 30 minuti. Il bucket si avvia completamente per consentire l'avvio rapido dell'applicazione e l'avvio dell'istanza.

Modello GP2 Blast Scoop

I crediti esauriscono il deposito per esaurire le prestazioni. gp2 ha una prestazione massima di 3.000 IOPS, quindi può solo consumare 3.000 al secondo.

I volumi fanno guadagnare crediti IO a un tasso di 3 per GB al secondo. Il che significa che se hai un volume maggiore di 1 TB, il tuo serbatoio è sempre pieno e non devi preoccuparti delle prestazioni di scoppio. Qualcosa di meno e sarà limitato alle prestazioni di riferimento in base al numero di crediti che guadagni.

Le prestazioni del benchmark superano il burst dopo 1 TB

Se hai bisogno di prestazioni più sostenute, può affittare un volume più grande o utilizzare un volume di IOPS con provisioning (io1). Sebbene questi siano più costosi per GB, consentono di acquistare IOPS a titolo definitivo. Puoi acquistare tra 100 e 64 000 IOPS, ad un tasso di $ 0.065 per IOPS con provisioning. Questo è veramente redditizio solo se vuoi più di 3000 IOPS. Per qualsiasi cosa al di sotto di questo, effettivamente pagare il doppio del prezzo per il volume. Come esempio, se hai bisogno di un volume di 3000 IOPS de 64 GB, puoi semplicemente fornire un volume di 1 TB gp2 volume a metà prezzo. Ma, se vuoi la velocità extra, può pagare.

Prestazioni del disco rigido (st1 e sc1)

Anche i volumi EBS basati su disco rigido AWS utilizzano un modello di repository burst, ma i dischi rigidi funzionano in modo leggermente diverso dagli SSD, quindi non viene misurato in IOPS. Perché un disco rigido utilizza una testina rotante, le velocità di lettura e scrittura saranno corrette. L'esecuzione di letture e scritture casuali rallenterà in modo significativo (uno dei principali svantaggi dei dischi rigidi). AWS utilizza velocità di lettura sequenziali qui.

Per st1, la velocità di base aumenta di 40 MiB / s per TB, a partire da 20 per la dimensione minima del volume di 500 GB.

Le prestazioni di base incontrano il burst a 12 TB

La velocità di raffica aumenta di 250 MiB / s per TB, fino ad un massimo di 500 MiB / S. Per volumi superiori a 12 TB, può raggiungere la velocità massima il 100% tempo metereologico. niente di meno, e sarai limitato dal tuo saldo di credito che esplode.

Per sc1, la velocità di base aumenta di 12 MiB / s per TB, a partire da 6 per la dimensione minima del volume di 500 GB. Lo rende molto più lento e non raggiungerà mai il 100% della tua abilità di scoppio (ma è più economico).

Le prestazioni di base sono sempre inferiori alle prestazioni burst

Anche la velocità di raffica è limitata e aumenta di 80 MiB / s per TB, fino ad un massimo di 250 MiB / S. Ciò equivale a circa 8,000 IOPS, ma di nuovo, questa è probabilmente la velocità sequenziale, e non vedrai velocità casuali così elevate su nessun disco rigido.

Come trovare la velocità del tuo disco nel mondo reale

Potresti usare uno strumento come dd Nonostante questo, per misurare la velocità di scrittura sequenziale, questo non sovraccarica il disco abbastanza da essere utile e non è indicativo di alcun caso d'uso effettivo.

Per ottenere qualcosa di meglio, è necessario installare uno strumento di benchmark del disco chiamato fio dal gestore di pacchetti della tua distribuzione:

sudo apt-get install fio

Dopo, eseguilo con il seguente comando:

fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_read_write.fio --bs=4k --iodepth=64 --size=250M -- readwrite=randrw --rwmixread=80

Creerà un file di 250 MB ed eseguirà test di lettura e scrittura casuali con un rapporto di 80% di letture e 20% di atti, offrendoti una visione molto più accurata delle prestazioni effettive della tua unità.

Un test veloce con un file di 25 MB mostra i vantaggi del modello di burst warehouse di AWS. Il volume gp2 può esplodere a una velocità elevata per un po' per gestire il trasferimento senza intoppi. Con una taglia così piccola, l'SSD può effettivamente superare il limite di 3000 IOPS, ma solo per un secondo.

5000 Leggi IOPS, 1300 Scrivi IOPS

Un test più lungo con un file di 250 MB offre una visione migliore di come si comporterà l'SSD sotto carichi più elevati. In questa circostanza, il test dura più di un secondo, quindi la velocità è limitata dalla velocità di burst IOPS, arrivando a 2600 IOPS.

2600 Leggi IOPS, 655 Scrivi IOPS

Certo, se permettessimo a questo test di durare più di 30 minuti, il volume gp2 esaurirebbe i crediti e rallenterà fino a solo 24 IOPS per un volume di 8 GB. Ma probabilmente non troverai carichi che usano il 100% del suo album e, se lo fa, puoi sempre utilizzare un disco più grande con prestazioni garantite o eseguire direttamente il provisioning degli IOPS.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.