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 caratteristiche di I/O determinano il comportamento prestazionale dei volumi. EBS SSD-I volumi supportati, General Purpose SSD (gp2andgp3) e Provisioned IOPS SSD (io1andio2), offrono prestazioni costanti indipendentemente dal fatto che un'operazione di I/O sia casuale o sequenziale. HDD-I volumi supportati, Throughput Optimized HDD (st1) e Cold (), offrono prestazioni ottimali solo quando le operazioni di I/O sono ampie e sequenziali. HDD sc1 Per comprendere le prestazioni SSD e HDD i volumi dell'applicazione, è importante conoscere la connessione tra la domanda sul volume, la quantità di energia IOPS disponibile, il tempo necessario per il completamento di un'operazione di I/O e i limiti di throughput del volume.

IOPS

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

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

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

Di conseguenza, quando si crea un volume con SSD backup che supporta 3.000 IOPS (effettuando il provisioning di un io2 volume io1 o un volume con 3.000IOPS, dimensionando un volume gp2 a 1.000 GiB o utilizzando un gp3 volume) e lo si collega a un'istanza EBS ottimizzata in grado di fornire una larghezza di banda sufficiente, è possibile trasferire fino a 3.000 I/O di dati al secondo, con un throughput determinato dalla dimensione di I/O.

Lunghezza della coda del volume e latenza

La lunghezza della coda di un volume è il numero di richieste I/O in attesa in un dispositivo. La latenza è il tempo effettivo del end-to-end client di un'operazione di I/O, in altre parole, il tempo trascorso tra l'invio di un I/O EBS e la ricezione di EBS una conferma del completamento della lettura o scrittura dell'I/O. La lunghezza della coda deve essere calibrata correttamente in base alla dimensione e alla latenza di I/O per evitare di creare colli di bottiglia sul sistema operativo guest o sul collegamento di rete a. EBS

La lunghezza ottimale della coda varia per ogni carico di lavoro, a seconda della sensibilità e della latenza della particolare applicazione. IOPS Se il carico di lavoro non fornisce un numero sufficiente di richieste di I/O per utilizzare appieno le prestazioni disponibili per il EBS volume, è possibile che il volume non fornisca il throughput IOPS o la velocità effettiva previsti.

Le applicazioni che richiedono un uso intensivo delle transazioni sono sensibili all'aumento della latenza di I/O e sono particolarmente adatte per i volumi supportati. SSD È possibile mantenere un livello elevato mantenendo al IOPS contempo bassa la latenza mantenendo una lunghezza di coda bassa e un numero elevato di file disponibili per il volume. IOPS Indirizzare costantemente IOPS verso un volume più di quello disponibile può causare un aumento della latenza di I/O.

Le applicazioni che richiedono un elevato livello di throughput sono meno sensibili all'aumento della latenza di I/O e sono particolarmente adatte per i volumi supportati. HDD È possibile mantenere un throughput elevato verso i volumi HDD supportati mantenendo un'elevata lunghezza della coda durante l'esecuzione di I/O sequenziali di grandi dimensioni.

Dimensioni degli I/O e limiti di throughput del volume

Per i volumi SSD protetti da backup, se le dimensioni di I/O sono molto grandi, è possibile che si verifichi un numero inferiore a IOPS 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 IOPS limite di 3.000 e un limite di throughput del volume di 250 MiB/s. Se utilizzi una dimensione di I/O di 256 KiB, il volume raggiunge il limite di throughput a 1000 IOPS (1000 x 256 KiB = 250 MiB). Per dimensioni di I/O 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 l'I/O del volume non raggiunga i limiti di throughput dell'istanza). Per ulteriori informazioni sui limiti di velocità effettiva per ogni tipo di volume, vedere. EBS Tipi di EBS volume Amazon

Per operazioni di I/O più piccole, è possibile visualizzare un higher-than-provisioned IOPS valore misurato all'interno dell'istanza. Ciò accade quando il sistema operativo dell'istanza unisce piccole operazioni di I/O in un'operazione più grande prima di passarle ad Amazon. EBS

Se il tuo carico di lavoro utilizza I/O sequenziali su HDD backup st1 e sc1 volumi, potresti riscontrare un numero di dati misurato all'interno dell'IOPSistanza superiore al previsto. Questo succede quando il sistema operativo dell'istanza riunisce I/O sequenziali e le conteggia in unità di dimensioni da 1.024 KiB. Se il carico di lavoro utilizza I/O piccoli o casuali, potresti riscontrare un throughput inferiore al previsto. Questo perché contiamo ogni I/O casuale e non sequenziale nel IOPS conteggio totale, il che può farti raggiungere il limite del volume prima del previsto. IOPS

Qualunque sia il tipo di EBS volume, se non riscontri il throughput IOPS o il throughput che ti aspetti dalla configurazione, assicurati che la larghezza di banda dell'EC2istanza non sia il fattore limitante. Per prestazioni ottimali, dovresti sempre utilizzare un'istanza EBS ottimizzata di ultima generazione (o un'istanza che includa una connettività di rete a 10 Gb/s). Un'altra possibile causa del mancato raggiungimento del livello previsto IOPS è la mancanza di I/O sufficienti verso i volumi. EBS

Monitora le caratteristiche di I/O utilizzando CloudWatch

È possibile monitorare queste caratteristiche di I/O con le metriche di volume di ciascun CloudWatch volume. I parametri importanti da considerare includono:

  • VolumeStalledIOCheck

  • BurstBalance

  • VolumeReadBytes | VolumeWriteBytes

  • VolumeReadOps | VolumeWriteOps

  • VolumeQueueLength

VolumeStalledIOCheckmonitora lo stato dei EBS volumi per determinare quando i volumi sono compromessi. La metrica è un valore binario che restituirà uno stato 0 (successo) o 1 (errore) a seconda che il EBS volume sia in grado di completare o meno le operazioni di I/O. Questo controllo rileva problemi di fondo con l'EBSinfrastruttura Amazon, come i seguenti:

  • Problemi hardware o software sui sottosistemi di storage alla base dei volumi EBS

  • Problemi hardware sull'host fisico che influiscono sulla raggiungibilità dei EBS volumi dell'istanza EC2

  • Problemi di connettività tra l'istanza e i volumi EBS

Se la VolumeStalledIOCheck metrica fallisce, puoi attendere che il problema AWS venga risolto oppure puoi intraprendere azioni, come sostituire il volume interessato o arrestare e riavviare l'istanza a cui è collegato il volume. Nella maggior parte dei casi, quando questa metrica fallisce, diagnostica e ripristina EBS automaticamente il volume entro pochi minuti. È possibile utilizzare l'azione Pause I/O 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.

Puoi misurare la latenza I/O EBS dello storage Amazon utilizzandoVolumeReadOps, VolumeWriteOpsVolumeTotalReadTime, e. VolumeTotalWriteTime Puoi utilizzare la seguente formula per monitorare la latenza I/O media del tuo volume:

Average I/O latency in ms/op = (VolumeTotalReadTime + VolumeTotalWriteTime) / (VolumeReadOps + VolumeWriteOps)

Se la latenza di I/O è superiore a quella richiesta, controlla il drive IOPS e assicurati che l'applicazione non stia cercando di generare IOPS più unità di quelle previste. È possibile utilizzare la formula seguente per monitorare la media basata IOPS sul volume:

Estimated average IOPS in ops/s = (Sum(VolumeReadOps) + Sum(VolumeWriteOps)) / (Period - Sum(VolumeIdleTime))

Se la tua applicazione richiede un numero IOPS maggiore di quello che il tuo volume può fornire, dovresti prendere in considerazione l'utilizzo di uno dei seguenti:

  • A gp3io2, o io1 volume a cui è stata fornita una quantità sufficiente IOPS per raggiungere la latenza richiesta

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

HDD-backed st1 e sc1 i volumi sono progettati per offrire prestazioni ottimali con carichi di lavoro che sfruttano la dimensione massima di I/O di 1.024 KB. Per calcolare la dimensione I/O media del volume, dividi VolumeWriteBytes per VolumeWriteOps. Lo stesso calcolo si applica alle operazioni in lettura. Se la dimensione I/O media è inferiore a 64 KiB, aumentare le dimensioni delle operazioni I/O inviate al volume st1 o sc1 dovrebbe migliorare le prestazioni.

Nota

Se la dimensione I/O media è attorno ai 44 KiB, puoi utilizzare un'istanza o un kernel senza supporto dei descrittori indiretti. Questo supporto è disponibile in tutti i kernel di Linux da 3.8 in poi, nonché in tutte le istanze della generazione corrente.

BurstBalance mostra il saldo del bucket continuo per i volumi gp2, st1 e sc1 in termini di percentuale del saldo rimanente. Una volta esaurito il bucket continuo, il volume di I/O (per i volumi gp2) o i crediti di throughput (per i volumi st1 e sc1) vengono limitati alla baseline. Controlla il valore BurstBalance per determinare se il volume è limitato per questo motivo. Per un elenco completo dei parametri Amazon disponibili, consulta CloudWatch Metriche Amazon per Amazon EBS e i EBS parametri Amazon per le istanze EBS basate su Nitro.

Risorse correlate

Per ulteriori informazioni sulle caratteristiche di Amazon EBS I/O, consulta la seguente presentazione di re:Invent: AmazonEBS: Designing for Performance.