View a markdown version of this page

Iniezione di latenza - 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à.

Iniezione di latenza

Usare l'azione Latency Injection (aws:ebs:volume-io-latency) nel AWS FIS per simulare livelli elevati I/O latenza sui volumi Amazon EBS per testare come le applicazioni rispondono al degrado delle prestazioni di storage. Questa azione consente di specificare il valore di latenza da iniettare e la percentuale di I/O che avrà un impatto sul volume di destinazione. Con AWS FIS, puoi utilizzare modelli di esperimenti di latenza preconfigurati per iniziare a testare diversi I/O modelli di latenza che possono essere osservati durante gli errori di archiviazione. Questi modelli sono progettati come una serie iniziale di scenari da utilizzare per introdurre interruzioni nelle applicazioni per testare la resilienza. Non sono progettati per comprendere tutti i tipi di impatto che le applicazioni possono subire nel mondo reale. Ti consigliamo di adattarli per eseguire più test diversi in base alle esigenze prestazionali delle tue applicazioni. È possibile personalizzare i modelli disponibili o creare nuovi modelli di esperimento per testare i requisiti specifici dell'applicazione.

Pre-configured modelli di esperimenti di latenza

Amazon EBS fornisce i seguenti modelli di esperimenti di latenza tramite la console EBS e AWS FIS libreria di scenari. È possibile utilizzare direttamente questi modelli sui volumi di destinazione per eseguire un esperimento di iniezione della latenza.

  • Latenza sostenuta — Simula una latenza costante. Questo esperimento utilizza un'azione di iniezione di latenza e ha una durata totale di 15 minuti. Questo esperimento simula una latenza persistente sul 50% della lettura I/O e il 100 percento della scrittura I/O: 500 ms per 15 minuti.

  • Latenza crescente — Simula un aumento graduale della latenza. Questo esperimento utilizza cinque azioni di iniezione della latenza e ha una durata totale di 15 minuti. Questo esperimento simulerà un aumento graduale della latenza sul 10 percento della lettura I/O e il 25 percento della scrittura I/O: 50 ms per 3 minuti, 200 ms per 3 minuti, 700 ms per 3 minuti, 1 secondo per 3 minuti e 15 secondi per 3 minuti.

  • Latenza intermittente — Simula forti picchi di latenza intermittenti con periodi di recupero intermedi. Questo esperimento utilizza tre azioni di iniezione della latenza e ha una durata totale di 15 minuti. Questo esperimento simulerà tre picchi di latenza sullo 0,1% dei dati di lettura e scrittura I/O: picco di 30 secondi che dura 1 minuto, picco di 10 secondi che dura 2 minuti e picco di 20 secondi che dura 2 minuti. Ci saranno periodi di ripristino di 5 minuti tra ogni picco di latenza.

  • Diminuzione della latenza — Simula una graduale diminuzione della latenza. Questo esperimento utilizza cinque azioni di iniezione della latenza e ha una durata totale di 15 minuti. Questo esperimento simulerà una diminuzione graduale della latenza sul 10 percento della lettura I/O e scrivi I/O: 20 secondi per 3 minuti, 5 secondi per 3 minuti, 900 ms per 3 minuti, 300 ms per 3 minuti e 40 ms per 3 minuti.

Personalizza gli scenari preconfigurati

Puoi personalizzare i modelli preconfigurati sopra riportati o creare nuovi modelli di esperimento utilizzando i seguenti parametri personalizzabili.

  • readIOPercentage — Percentuale di lettura I/O operazioni su cui verrà iniettata la latenza. Questa è la percentuale di tutte le letture I/O operazioni sul volume che sarà influenzato dall'azione.

    Intervallo: min 0,1%, max 100%

  • readIOLatencyMilliseconds — Quantità di latenza iniettata durante la lettura I/O operazioni. Questo è il valore di latenza che verrà osservato sulla percentuale di lettura specificata I/O durante l'esperimento.

    Intervallo: min 1 ms (io2) /10 ms (non-io2), max 60 secondi

  • writeIOPercentage — Percentuale di scrittura I/O operazioni su cui verrà iniettata la latenza. Questa è la percentuale di tutte le scritture I/O operazioni sul volume che sarà influenzato dall'azione.

    Intervallo: min 0,1%, max 100%

  • writeIOLatencyMilliseconds — Quantità di latenza iniettata durante la scrittura I/O operazioni. Questo è il valore di latenza che verrà osservato nella percentuale di scrittura specificata I/O durante l'esperimento.

    Intervallo: min 1 ms (io2) /10 ms (non-io2), max 60 secondi

  • duration — Durata per la quale verrà iniettata la latenza sulla percentuale di I/O selezionato.

    Intervallo: min 1 secondo, max 12 ore

Monitoraggio dell'iniezione di latenza

È possibile monitorare l'impatto delle prestazioni sui volumi nei seguenti modi:

  • Utilizza le metriche di latenza media in CloudWatch per ottenere una media al minuto I/O latenza. Per ulteriori informazioni, vedere Monitora i tuoi volumi EBS utilizzando CloudWatch.

  • Utilizza le statistiche dettagliate sulle prestazioni di EBS disponibili tramite NVMe-CLI, CloudWatch agente e Prometheus per ottenere una media al secondo I/O latenza. Le metriche dettagliate forniscono inoltre I/O istogrammi di latenza che puoi utilizzare per analizzare la varianza della latenza sui tuoi volumi. Per ulteriori informazioni, vedere Statistiche dettagliate sulle prestazioni di NVMe.

  • Utilizzo della Controlli dello stato del volume Amazon EBS. Quando si inietta I/O latenza, lo stato del volume passa a warning stato.

Considerazioni

Quando si utilizza l'iniezione di latenza EBS, si consideri quanto segue:

  • L'iniezione di latenza è supportata su tutti Nitro-based tipi di istanza, tranne: P4d, P5, P5e, TrN2u, G6, G6f, Gr6, Gr6f, M8i, M8i-flex, C8i-flex, R8i, R8i-flex, I8GE, Mac-m4pro, e Mac-m4.

  • Potresti vedere una varianza fino al 5% nel valore di latenza specificato nell'esperimento e nella latenza risultante osservata.

  • Se guidi un numero molto piccolo di I/O operazioni, la percentuale di I/O specificata nei parametri dell'azione potrebbe non corrispondere alla percentuale effettiva di I/O influenzata dall'azione.

Per eseguire un esperimento di iniezione di latenza su un volume Amazon EBS
  1. Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nel riquadro di navigazione, selezionare Volumes (Volumi).

  3. Seleziona i volumi su cui eseguire l'esperimento e scegli Azioni, Test di resilienza, Volume di iniezione I/O latenza.

    Il AWS Fault Injection Service la console si apre.

  4. Nel Crea esperimento finestra, seleziona il tipo di esperimento da eseguire: Intermittente, In aumento, Sostenuto, o Diminuendo.

  5. Per Selezione del ruolo IAM, scegli Crea un nuovo ruolo per creare un nuovo ruolo che AWS FIS utilizzerà per condurre gli esperimenti per tuo conto. In alternativa, scegli Usa un ruolo IAM esistente se in precedenza hai creato un ruolo IAM con le autorizzazioni richieste.

  6. Il Stima dei prezzi la sezione fornisce una stima del costo di esecuzione dell'esperimento. Con AWS FIS, ti viene addebitato un costo per minuto di esecuzione di un'azione, dall'inizio alla fine, in base al numero di account target per l'esperimento.

  7. Scegli Inizia un esperimento.