injection de latence - Amazon EBS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

injection de latence

Utilisez l'action d'injection de latence (aws:ebs:volume-io-latency) AWS FIS pour simuler une I/O latence élevée sur vos volumes Amazon EBS afin de tester la façon dont vos applications réagissent à la dégradation des performances de stockage. Cette action vous permet de spécifier la valeur de latence à injecter ainsi que le pourcentage de latence I/O qui sera impacté sur le volume cible. Vous pouvez utiliser des AWS FIS modèles d'expérience de latence préconfigurés pour commencer à tester différents modèles de I/O latence susceptibles d'être observés lors de défaillances de stockage. Ces modèles sont conçus comme un ensemble initial de scénarios que vous pouvez utiliser pour perturber vos applications afin de tester la résilience. Ils ne sont pas conçus pour englober tous les types d'impact que vos applications peuvent subir dans le monde réel. Nous vous recommandons de les adapter pour exécuter plusieurs tests différents en fonction des besoins de performances de vos applications. Vous pouvez personnaliser les modèles disponibles ou créer de nouveaux modèles d'expériences pour tester les exigences spécifiques de votre application.

Modèles d'expériences de latence préconfigurés

Amazon EBS fournit les modèles d'expériences de latence suivants via la console EBS et la bibliothèque de AWS FIS scénarios. Vous pouvez directement utiliser ces modèles sur vos volumes cibles pour exécuter une expérience d'injection de latence.

  • Latence soutenue : simule une latence constante. Cette expérience utilise une action d'injection de latence et a une durée totale de 15 minutes. Cette expérience simule une latence persistante sur 50 % des E/S en lecture I/O et 100 % en écriture : 500 ms pendant 15 minutes.

  • Augmentation de la latence : simule l'augmentation progressive de la latence. Cette expérience utilise cinq actions d'injection de latence et a une durée totale de 15 minutes. Cette expérience simulera une augmentation progressive de la latence sur 10 % des E/S en lecture I/O et 25 % des E/S en écriture : 50 ms pendant 3 minutes, 200 ms pendant 3 minutes, 700 ms pendant 3 minutes, 1 seconde pendant 3 minutes et 15 secondes pendant 3 minutes.

  • Latence intermittente : simule des pics de latence intermittents marqués avec des périodes de récupération entre les deux. Cette expérience utilise trois actions d'injection de latence et a une durée totale de 15 minutes. Cette expérience simulera trois pics de latence sur 0,1 % des E/S en lecture et en écriture : un pic de 30 secondes qui dure 1 minute, un pic de 10 secondes qui dure 2 minutes et un pic de 20 secondes qui dure 2 minutes. Il y aura des périodes de récupération de 5 minutes entre chaque pic de latence.

  • Diminution de la latence — Simule une diminution progressive de la latence. Cette expérience utilise cinq actions d'injection de latence et a une durée totale de 15 minutes. Cette expérience simulera une diminution progressive de la latence sur 10 % des E/S en lecture I/O et en écriture : 20 secondes pendant 3 minutes, 5 secondes pendant 3 minutes, 900 ms pendant 3 minutes, 300 ms pendant 3 minutes et 40 ms pendant 3 minutes.

Personnalisez les scénarios préconfigurés

Vous pouvez personnaliser les modèles préconfigurés ci-dessus ou créer vos propres nouveaux modèles d'expériences à l'aide des paramètres personnalisables suivants.

  • readIOPercentage— Pourcentage d' I/O opérations de lecture sur lesquelles la latence sera injectée. Il s'agit du pourcentage de toutes les I/O opérations de lecture sur le volume qui seront affectées par l'action.

    Gamme : minimum 0,1 %, maximum 100 %

  • readIOLatencyMilliseconds— Quantité de latence injectée lors des I/O opérations de lecture. Il s'agit de la valeur de latence qui sera observée sur le pourcentage de lecture spécifié I/O pendant l'expérience.

    Plage : min 1 ms (io2) /10 ms (non-io2), maximum 60 secondes

  • writeIOPercentage— Pourcentage d' I/O opérations d'écriture sur lesquelles la latence sera injectée. Il s'agit du pourcentage de toutes les I/O opérations d'écriture sur le volume qui seront affectées par l'action.

    Gamme : minimum 0,1 %, maximum 100 %

  • writeIOLatencyMilliseconds— Quantité de latence injectée lors des I/O opérations d'écriture. Il s'agit de la valeur de latence qui sera observée sur le pourcentage d'écriture spécifié I/O pendant l'expérience.

    Plage : min 1 ms (io2) /10 ms (non-io2), maximum 60 secondes

  • duration— Durée pendant laquelle la latence sera injectée sur le pourcentage de temps I/O sélectionné.

    Portée : min 1 seconde, max 12 heures

Surveillance de l'injection de latence

Vous pouvez surveiller l'impact sur les performances de vos volumes de la manière suivante :

  • Utilisez les mesures de latence moyenne CloudWatch pour obtenir une I/O latence moyenne par minute. Pour plus d'informations, voir Surveiller vos volumes EBS à l'aide CloudWatch de.

  • Utilisez les statistiques de performance détaillées d'EBS disponibles via NVMe -CLI, CloudWatch agent et Prometheus pour obtenir une latence moyenne par seconde. I/O Les métriques détaillées fournissent également des histogrammes de I/O latence que vous pouvez utiliser pour analyser la variation de latence sur vos volumes. Pour plus d'informations, consultez les statistiques de performance NVMe détaillées.

  • Utilisez Contrôles de l'état des volumes Amazon EBS. Lorsque vous injectez de la I/O latence, l'état du volume passe à l'warningétat actuel.

Considérations

Tenez compte des points suivants lorsque vous utilisez l'injection de latence EBS :

  • L'injection de latence est prise en charge sur tous les types d'instances basés sur Nitro, sauf : P4d, P5, P5e, Trn2u, G6, G6f, Gr6, Gr6f, M8i, M8i-flex, C8i-Flex, R8i-Flex, i8GE, Mac-M4Pro et Mac-M4.

  • Vous pouvez constater une variation allant jusqu'à 5 % entre la valeur de latence spécifiée dans l'expérience et la latence résultante observée.

  • Si vous effectuez un très petit nombre d' I/O opérations, le pourcentage I/O spécifié dans les paramètres de l'action peut ne pas correspondre au pourcentage réel de I/O personnes touchées par l'action.

Pour exécuter une expérience d'injection de latence sur un volume Amazon EBS
  1. Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation, choisissez Volumes.

  3. Sélectionnez les volumes sur lesquels exécuter l'expérience, puis choisissez Actions, Test de résilience, Injecter la I/O latence du volume.

    La AWS Fault Injection Service console s'ouvre.

  4. Dans la fenêtre Créer une expérience, sélectionnez le type d'expérience à exécuter : intermittente, croissante, soutenue ou décroissante.

  5. Pour la sélection du rôle IAM, choisissez Créer un nouveau rôle pour créer un nouveau rôle qui AWS FIS sera utilisé pour mener les expériences en votre nom. Vous pouvez également choisir Utiliser un rôle IAM existant si vous avez déjà créé un rôle IAM avec les autorisations requises.

  6. La section Estimation des prix vous donne une estimation du coût de réalisation de l'expérience. Avec AWS FIS, vous êtes facturé par minute pendant laquelle une action est exécutée, du début à la fin, en fonction du nombre de comptes cibles pour votre test.

  7. Sélectionnez Start experiment (Démarrer une expérience).