View a markdown version of this page

Caratteristiche e monitoraggio di Amazon EBS I/O - Amazon EBS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Caratteristiche e monitoraggio di Amazon EBS I/O

In una determinata configurazione di volume, determinate I/O caratteristiche determinano il comportamento prestazionale dei tuoi volumi EBS.

  • SSD-backed i volumi, General Purpose SSD (gp2andgp3) e Provisioned IOPS SSD (io1andio2), offrono prestazioni costanti indipendentemente dal fatto che si tratti di un' I/O operazione casuale o sequenziale.

  • HDD-backed i volumi, Throughput Optimized HDD (st1) e Cold HDD (sc1), offrono prestazioni ottimali solo quando le operazioni sono ampie e sequenziali. I/O

Per comprendere le prestazioni dei volumi SSD e HDD nell'applicazione, è importante conoscere la connessione tra la richiesta del volume, la quantità di IOPS disponibile, il tempo necessario per il completamento di un' I/O operazione e i limiti di throughput del volume.

IOPS

Gli IOPS sono un'unità di misura che rappresenta le operazioni al secondo. input/output Le operazioni sono misurate in KiB e la tecnologia di azionamento sottostante determina la quantità massima di dati che un tipo di volume conta come singola I/O. I/O la dimensione è limitata a 256 KiB per i volumi SSD e 1.024 KiB per i volumi HDD, in quanto i volumi SSD gestiscono volumi piccoli o casuali in modo I/O molto più efficiente rispetto ai volumi HDD.

Quando I/O le piccole operazioni sono fisicamente sequenziali, Amazon EBS tenta di unirle in un'unica operazione fino alla dimensione massima. I/O I/O Analogamente, quando I/O le operazioni superano la I/O dimensione massima, Amazon EBS tenta di suddividerle in operazioni più piccole. I/O La tabella seguente mostra alcuni esempi.

Tipo di volume Dimensione massima I/O I/O operazioni dall'applicazione Numero di IOPS Note
SSD 256 KiB 1 x 1024 KiB I/O di funzionamento 4 (1.024÷256=4) Amazon EBS suddivide l'operazione da 1.024 KiB in quattro I/O operazioni più piccole da 256 KiB.
8 operazioni sequenziali da 32 KiB I/O 1 (8x32=256) Amazon EBS unisce le otto operazioni sequenziali da 32 KiB in un'unica I/O operazione da 256 KiB.
8 operazioni casuali da 32 KiB I/O 8 Amazon EBS conta le I/O operazioni casuali separatamente.
HDD 1.024 KiB 1 operazione da 1024 KiB I/O 1 L' I/O operazione è già pari alla I/O dimensione massima. Non viene unita o suddivisa.
8 operazioni sequenziali da 128 KiB I/O 1 (8x128=1.024) Amazon EBS unisce le otto operazioni sequenziali da 128 KiB in un'unica I/O operazione da 1.024 KiB. I/O
8 operazioni casuali da 32 KiB I/O 8 Amazon EBS conta le I/O operazioni casuali separatamente.

Di conseguenza, quando crei un SSD-backed volume che supporta 3.000 IOPS (effettuando il provisioning di un io2 volume io1 o con 3.000 IOPS, dimensionando un gp2 volume a 1.000 GiB o utilizzando un gp3 volume) e lo colleghi a un' EBS-optimized istanza in grado di fornire una larghezza di banda sufficiente, puoi trasferire fino a 3.000 I/Os di dati al secondo, con un throughput determinato dalla dimensione. I/O

Lunghezza della coda del volume e latenza

La lunghezza della coda del volume è il numero di richieste in sospeso per un dispositivo. I/O La latenza è il vero tempo end-to-end di un' I/O operazione da parte del cliente, in altre parole, il tempo trascorso tra l'invio di un messaggio I/O a EBS e la ricezione da parte di EBS della conferma del completamento della lettura o della scrittura. I/O La lunghezza della coda deve essere calibrata correttamente in termini di I/O dimensioni e latenza per evitare di creare colli di bottiglia sul sistema operativo guest o sul collegamento di rete a EBS.

La lunghezza di coda ottimale è diversa per ciascun carico di lavoro, a seconda della sensibilità dell'applicazione agli IOPS e alla latenza. Se il carico di lavoro non fornisce un numero sufficiente di I/O richieste per utilizzare appieno le prestazioni disponibili sul volume EBS, è possibile che il volume non fornisca gli IOPS o il throughput assegnati.

Transaction-intensive le applicazioni sono sensibili all'aumento della I/O latenza e sono particolarmente adatte per i volumi. SSD-backed Puoi mantenere IOPS elevati tenendo bassa la latenza conservando una bassa lunghezza di coda e un alto numero di IOPS disponibili per il volume. L'aumento costante di IOPS su un volume rispetto a quello disponibile può causare un aumento della latenza. I/O Per la massima coerenza, un volume deve mantenere una profondità di coda media (arrotondata al numero intero più vicino) di uno ogni 1.000 IOPS assegnati in un minuto. Ad esempio, per un volume con 3.000 IOPS, la profondità media della coda deve essere 3.

Throughput-intensive le applicazioni sono meno sensibili all'aumento della I/O latenza e sono adatte per i volumi. HDD-backed È possibile mantenere un elevato throughput HDD-backed sui volumi mantenendo una lunghezza di coda elevata quando si eseguono operazioni sequenziali di grandi dimensioni. I/O

I/O limiti di velocità effettiva per dimensioni e volume

Per quanto riguarda SSD-backed i volumi, se le I/O dimensioni sono molto elevate, è possibile che si verifichi un numero di IOPS inferiore a quello previsto perché si sta raggiungendo il limite di throughput del volume. Ad esempio, un gp2 volume inferiore a 1.000 GiB con crediti burst disponibili ha un limite di IOPS di 3.000 e un limite di throughput del volume di 250. MiB/s Se utilizzi una I/O dimensione di 256 KiB, il volume raggiunge il limite di velocità effettiva a 1000 IOPS (1000 x 256 KiB = 250 MiB). Per I/O dimensioni inferiori (ad esempio 16 KiB), questo stesso volume può sostenere 3.000 IOPS perché la velocità effettiva è ben inferiore a 250. MiB/s (Questi esempi presuppongono che il volume non raggiunga i limiti di I/O velocità effettiva dell'istanza). Per ulteriori informazioni sui limiti di throughput per ciascun tipo di volume EBS, consulta Tipi di volume Amazon EBS.

Per I/O operazioni di dimensioni ridotte, è possibile che venga visualizzato un valore IOPS superiore a quello previsto, misurato all'interno dell'istanza. Ciò accade quando il sistema operativo dell'istanza unisce piccole I/O operazioni in un'operazione più grande prima di passarle ad Amazon EBS.

Se il carico di lavoro utilizza I/Os accensioni HDD-backed st1 e sc1 volumi sequenziali, è possibile che si verifichi un numero di IOPS superiore al previsto, misurato all'interno dell'istanza. Ciò si verifica quando il sistema operativo dell'istanza unisce le sequenze I/Os e le conta in 1.024 unità. KiB-sized Se il carico di lavoro è ridotto o casuale I/Os, potresti riscontrare un throughput inferiore a quello previsto. Questo perché ogni numero casuale e non sequenziale viene conteggiato nel I/O conteggio totale degli IOPS, il che può far sì che il limite di IOPS del volume venga raggiunto prima del previsto.

Qualunque sia il tipo di volume EBS, se non riscontrate gli IOPS o il throughput previsti dalla configurazione, assicuratevi che la larghezza di banda dell'istanza EC2 non sia il fattore limitante. È necessario utilizzare sempre un' EBS-optimized istanza di ultima generazione (o una che includa 10 connessioni di rete) per prestazioni ottimali. Gb/s Un'altra possibile causa del mancato raggiungimento degli IOPS previsti è la mancanza di traffico sufficiente I/O per raggiungere i volumi EBS.

Monitora le caratteristiche utilizzando I/O CloudWatch

Puoi monitorare queste I/O caratteristiche con le metriche di volume di ciascun CloudWatch volume.

Monitora i blocchi I/O

VolumeStalledIOCheck monitora lo stato dei volumi EBS per determinare quando i volumi sono compromessi. La metrica è un valore binario che restituirà uno stato 0 (superato) o 1 (non riuscito) a seconda che il volume EBS sia in grado di completare o meno le operazioni. I/O

Se la VolumeStalledIOCheck metrica ha esito negativo, puoi attendere AWS la risoluzione del problema oppure puoi intraprendere azioni, ad esempio sostituire il volume interessato o arrestare e riavviare l'istanza a cui il volume è collegato. Nella maggior parte dei casi, quando parametro non riesce, EBS diagnostica e ripristina automaticamente il volume entro pochi minuti. Puoi utilizzare l' I/Oazione Pausa AWS Fault Injection Service per eseguire esperimenti controllati per testare l'architettura e il monitoraggio in base a questa metrica per migliorare la resilienza agli errori di archiviazione.

Monitora la I/O latenza di un volume

Puoi monitorare la latenza media per le operazioni di lettura e scrittura per un volume Amazon EBS utilizzando rispettivamente le metriche VolumeAvgReadLatency eVolumeAvgWriteLatency. Puoi utilizzare l'azione Latency Injection AWS Fault Injection Service per eseguire esperimenti controllati per testare l'architettura e il monitoraggio in base a questa metrica per migliorare la tua resilienza al degrado delle prestazioni di storage.

Se la I/O latenza è superiore a quella richiesta, assicurati che l'applicazione non stia tentando di generare più IOPS o throughput di quelli assegnati per il volume. È possibile utilizzare le VolumeAvgThroughput metriche VolumeAvgIOPS e per monitorare gli IOPS e il throughput medi generati dal volume in un minuto e quindi confrontarli con gli IOPS e il throughput assegnati al volume. Se il volume non esegue alcuna operazione durante il minuto, le metriche riporteranno un valore pari a zero (). 0 Se si verificano picchi di IOPS o throughput elevati per un periodo inferiore all'intervallo di un minuto, il volume subisce un microbursting, ma le metriche medie di IOPS e throughput potrebbero indicare che le prestazioni sono inferiori rispetto ai limiti di IOPS o di throughput previsti dal volume. Per determinare se il volume subisce un aumento delle prestazioni in un determinato minuto, puoi utilizzare le metriche e. VolumeIOPSExceededCheck VolumeThroughputExceededCheck Puoi monitorare queste metriche per determinare se il carico di lavoro tenta costantemente di generare IOPS o se un throughput è superiore alle prestazioni previste per il volume in un determinato minuto. Se gli IOPS generati per un secondo nell'arco di un minuto superano costantemente le prestazioni IOPS assegnate al volume, la metrica ritorna. VolumeIOPSExceededCheck 1 Se il throughput generato per un secondo nell'arco di un minuto supera costantemente le prestazioni di throughput previste per il volume, la metrica ritorna. VolumeThroughputExceededCheck 1 Se gli IOPS e il throughput guidati rientrano nelle prestazioni assegnate al volume, le metriche ritornano. 0

Se la tua applicazione richiede un numero di IOPS maggiore di quello che il volume può fornire, valuta la possibilità di utilizzare una delle seguenti soluzioni:

  • Un volume gp3, io2 o io1 fornito con un numero di IOPS sufficiente per raggiungere la latenza richiesta

  • Un volume gp2 più grande che fornisce prestazioni IOPS di base sufficienti

HDD-backed st1e sc1 i volumi sono progettati per funzionare al meglio con carichi di lavoro che sfruttano la dimensione massima di 1.024 KiB. I/O Per determinare la I/O dimensione media del volume, dividi VolumeWriteBytes per. VolumeWriteOps Lo stesso calcolo si applica alle operazioni in lettura. Se la I/O dimensione media è inferiore a 64 KiB, l'aumento delle dimensioni delle I/O operazioni inviate a un sc1 volume st1 or dovrebbe migliorare le prestazioni.

Monitora il saldo del burst bucket per i volumi gp2, st1 e sc1

BurstBalance mostra il saldo del bucket continuo per i volumi gp2, st1 e sc1 in termini di percentuale del saldo rimanente. Quando il burst bucket è esaurito, il volume (per i gp2 volumi) o il throughput del volume I/O (per e per i volumi) viene ridotto alla linea di base. st1 sc1 Controlla il valore BurstBalance per determinare se il volume è limitato per questo motivo. Per un elenco completo delle metriche di Amazon EBS disponibili, consulta la sezione relativa alle metriche di Amazon EBS per le istanze. CloudWatch Metriche Amazon per Amazon EBS Nitro-based

I/O Monitora le statistiche sulle prestazioni in tempo

Puoi accedere a statistiche dettagliate sulle prestazioni in tempo reale per i volumi Amazon EBS collegati alle istanze Nitro-based Amazon EC2.

Puoi combinare queste statistiche per ricavare la latenza media e gli IOPS o per verificare se le operazioni sono state completate. I/O È inoltre possibile visualizzare il tempo totale in cui l'applicazione ha superato i limiti di IOPS o di throughput previsti dal volume EBS o dall'istanza collegata. Monitorando gli aumenti di queste statistiche nel tempo, è possibile identificare se è necessario aumentare gli IOPS assegnati o i limiti di throughput per ottimizzare le prestazioni dell'applicazione. Le statistiche dettagliate sulle prestazioni includono anche istogrammi per I/O le operazioni di lettura e scrittura, che forniscono una distribuzione della I/O latenza tenendo traccia del numero totale di I/O operazioni completate all'interno di una banda di latenza.

Per ulteriori informazioni, consulta Statistiche dettagliate sulle prestazioni di Amazon EBS.

Risorse correlate

Per ulteriori informazioni sulle I/O caratteristiche di Amazon EBS, consulta la seguente presentazione re:Invent: Amazon EBS: Designing for Performance. https://www.youtube.com/watch?v=2wKgha8CZ_w