View a markdown version of this page

I/O Caratteristiche e monitoraggio di Amazon EBS - 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à.

I/O Caratteristiche e monitoraggio di Amazon EBS

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

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

  • HDD-backed 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 domanda sul volume, la quantità di IOPS a sua disposizione, 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 LiB e la tecnologia di unità sottostante determina la quantità massima di dati che un tipo di volume conta come singolo I/O. I/O la dimensione è limitata a 256 KiB per i volumi SSD e 1.024 KiB per i volumi HDD perché i volumi SSD gestiscono piccoli o I/O casuali in modo molto più efficiente rispetto ai volumi HDD.

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

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

Di conseguenza, quando si crea un SSD-backed volume che supporta 3.000 IOPS (effettuando il provisioning di un io2 volume io1 o con 3.000 IOPS, dimensionando un volume gp2 a 1.000 GiB o utilizzando un gp3 volume) e lo si collega a un' EBS-optimized istanza in grado di fornire una larghezza di banda sufficiente, è possibile trasferire fino a 3.000 I/Os 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 tempo effettivo di un' I/O operazione da parte del client end-to-end, 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 che la lettura o la scrittura sono state completate. I/O La lunghezza della coda deve essere calibrata correttamente in base alla I/O dimensione e alla 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 per il volume EBS, è possibile che il volume non fornisca gli IOPS o il throughput previsti.

Transaction-intensive le applicazioni sono sensibili all'aumento della I/O latenza e sono 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 di quanti ne abbia a disposizione può causare un aumento della latenza. I/O Per garantire la massima coerenza, un volume deve mantenere una profondità di coda media (arrotondata al numero intero più vicino) di uno per ogni 1.000 IOPS assegnati in un minuto. Ad esempio, per un volume fornito 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 throughput elevato 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 in termini di dimensioni e volume

Per quanto riguarda SSD-backed i volumi, se la I/O dimensione è molto grande, è possibile che si verifichi un numero di IOPS inferiore a quello previsto perché si sta raggiungendo il limite di velocità effettiva 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 di volume di 250. MiB/s Se utilizzi una I/O dimensione di 256 KiB, il volume raggiunge il limite di throughput di 1000 IOPS (1000 x 256 KiB = 250 MiB). Per I/O dimensioni più piccole (ad esempio 16 KiB), lo stesso volume può supportare 3.000 IOPS perché il throughput è ben al di sotto di 250. MiB/s (Questi esempi presuppongono che il volume non I/O stia raggiungendo i limiti di throughput dell'istanza). Per ulteriori informazioni sui limiti di throughput per ciascun tipo di volume EBS, consulta Tipi di volume Amazon EBS.

Per I/O le operazioni più piccole, è possibile che venga visualizzato un valore IOPS superiore a quello fornito, 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 sc1 volumi HDD-backed st1 e attivazioni sequenziali I/Os , è 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 esegue unioni sequenziali I/Os e le conta in 1.024 unità. KiB-sized Se il carico di lavoro è limitato o casuale I/Os, è possibile che si verifichi un throughput inferiore a quello previsto. Questo perché conteggiamo ogni numero casuale e non sequenziale nel conteggio totale degli I/O IOPS, il che può far sì che tu raggiunga il limite di IOPS del volume prima del previsto.

Qualunque sia il tipo di volume EBS, se non riscontri gli IOPS o il throughput previsto nella tua configurazione, verifica che il fattore limitante non sia la larghezza di banda dell'istanza EC2. Per prestazioni ottimali, è consigliabile utilizzare sempre un'istanza di ultima generazione (o un' EBS-optimized istanza che includa 10 connettività di rete). Gb/s Un'altra possibile causa del mancato raggiungimento degli IOPS previsti è che non si sta indirizzando abbastanza I/O verso 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.

Monitoraggio dello stato di stallo I/O

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

Se la VolumeStalledIOCheck metrica fallisce, puoi AWS attendere la risoluzione del problema oppure puoi intraprendere azioni, come sostituire il volume interessato o interrompere e riavviare l'istanza a cui è collegato il volume. Nella maggior parte dei casi, quando parametro non riesce, EBS diagnostica e ripristina automaticamente il volume entro pochi minuti. Puoi utilizzare l' I/Oazione Pause in AWS Fault Injection Service per eseguire esperimenti controllati per testare l'architettura e il monitoraggio in base a questa metrica per migliorare la resilienza ai guasti di storage.

Monitora la latenza per I/O un volume

Puoi monitorare la latenza media per le operazioni di lettura e scrittura per un volume Amazon EBS utilizzando rispettivamente i VolumeAvgWriteLatency parametri VolumeAvgReadLatency e. 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 resilienza al degrado delle prestazioni di storage.

Se la I/O latenza è superiore a quella richiesta, assicurati che l'applicazione non stia cercando di generare più IOPS o velocità effettiva di quelli previsti per il volume. Puoi utilizzare le VolumeAvgThroughput metriche VolumeAvgIOPS and per monitorare gli IOPS medi e il throughput associati al volume in un minuto, quindi confrontarli con gli IOPS e il throughput assegnati dal 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 di throughput elevati per un periodo di tempo inferiore all'intervallo di minuti, si verifica un microbursting nel volume, ma le metriche di IOPS e throughput medi potrebbero indicare che le prestazioni sono inferiori rispetto ai limiti di IOPS o di throughput previsti per il volume. Per determinare se il volume registra aumenti di prestazioni in un determinato minuto, puoi utilizzare le metriche and. VolumeIOPSExceededCheck VolumeThroughputExceededCheck Puoi monitorare queste metriche per determinare se il tuo carico di lavoro ha costantemente cercato di incrementare gli IOPS o un throughput superiore alle prestazioni assegnate dal volume in un determinato minuto. Se gli IOPS generati per ogni secondo nell'arco di un minuto superano costantemente le prestazioni IOPS assegnate dal volume, la metrica viene restituita. VolumeIOPSExceededCheck 1 Se il throughput generato per ogni secondo nell'arco di un minuto supera costantemente le prestazioni di throughput assegnate dal volume, la metrica viene restituita. VolumeThroughputExceededCheck 1 Se gli IOPS e il throughput determinati rientrano nelle prestazioni assegnate dal volume, le metriche vengono restituite. 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 offrire prestazioni ottimali con carichi di lavoro che sfruttano la dimensione massima I/O di 1.024 KB. 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 KB, l'aumento delle dimensioni delle I/O operazioni inviate a un sc1 volume st1 or dovrebbe migliorare le prestazioni.

Monitora il bilanciamento del burst bucket per gp2 e st1 i volumi 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 la velocità effettiva del volume I/O (per i volumi) vengono sc1 limitati ai valori di st1 base. Controlla il valore BurstBalance per determinare se il volume è limitato per questo motivo. Per un elenco completo dei parametri di Amazon EBS disponibili, consulta i parametri di CloudWatch Parametri Amazon per Amazon EBS Amazon EBS per le istanze. 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 latenza media e IOPS o per verificare se le operazioni sono state completate. I/O Puoi anche visualizzare il periodo di tempo totale in cui l'applicazione ha superato i limiti di IOPS o di throughput assegnati al volume EBS o all'istanza collegata. Monitorando gli aumenti di queste statistiche nel tempo, puoi determinare 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 di re:Invent: Amazon EBS: Designing for Performance.