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) dans AWS FIS pour simuler une élévation I/O latence sur vos volumes Amazon EBS pour 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 I/O qui aura un impact sur le volume cible. Avec AWS FIS, vous pouvez utiliser des modèles d'expériences de latence préconfigurés pour commencer à tester différents I/O modèles de latence qui peuvent être observés lors de pannes de stockage. Ces modèles sont conçus comme un ensemble initial de scénarios que vous pouvez utiliser pour introduire des interruptions dans 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érience pour tester les exigences spécifiques de votre application.
Pre-configured modèles d'expériences de latence
Amazon EBS fournit les modèles d'expérience de latence suivants via la console EBS et le AWS FIS bibliothèque de scénarios. Vous pouvez utiliser ces modèles directement 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 % de la lecture I/O et 100 % de l'écriture I/O: 500 ms pendant 15 minutes.
-
Latence croissante — Simule une 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 % de la lecture I/O et 25 % de l'écriture I/O: 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 de brusques pics de latence intermittents 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 % de la lecture et de l'écriture I/O: pic de 30 secondes qui dure 1 minute, pic de 10 secondes qui dure 2 minutes et 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.
-
Réduction 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 % de la lecture I/O et écrivez I/O: 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érience à l'aide des paramètres personnalisables suivants.
-
readIOPercentage— Pourcentage de lecture I/O opérations sur lesquelles la latence sera injectée. Il s'agit du pourcentage de toutes les lectures I/O opérations sur le volume qui sera impacté par l'action.Plage : min 0,1 %, maximum 100 %
-
readIOLatencyMilliseconds— Quantité de latence injectée lors de la lecture I/O opérations. Il s'agit de la valeur de latence qui sera observée sur le pourcentage spécifié de la lecture I/O pendant l'expérience.Portée : min 1 ms (io2) /10 ms (non-io2), max. 60 secondes
-
writeIOPercentage— Pourcentage d'écriture I/O opérations sur lesquelles la latence sera injectée. Il s'agit du pourcentage de toutes les écritures I/O opérations sur le volume qui sera impacté par l'action.Plage : min 0,1 %, maximum 100 %
-
writeIOLatencyMilliseconds— Quantité de latence injectée lors de l'écriture I/O opérations. Il s'agit de la valeur de latence qui sera observée sur le pourcentage spécifié de l'écriture I/O pendant l'expérience.Portée : min 1 ms (io2) /10 ms (non-io2), 60 secondes maximum
-
duration— Durée pendant laquelle la latence sera injectée sur la base du pourcentage de I/O sélectionné.Portée : min. 1 seconde, max. 12 heures
Surveillance de l'injection de latence
Vous pouvez surveiller l'impact des performances sur vos volumes de la manière suivante :
-
Utilisez des mesures de latence moyenne dans CloudWatch pour obtenir la moyenne par minute I/O latence. Pour plus d'informations, voir Surveillez vos volumes EBS à l'aide de CloudWatch.
-
Utilisez les statistiques de performances détaillées d'EBS disponibles via NVMe-CLI, CloudWatch agent, et Prometheus pour obtenir la moyenne par seconde I/O latence. Les mesures détaillées fournissent également I/O des histogrammes de latence que vous pouvez utiliser pour analyser la variance de latence de vos volumes. Pour plus d'informations, voir Statistiques de performances détaillées sur NVMe.
-
Utilisez Vérifications de l'état des volumes Amazon EBS. Quand vous injectez I/O latence, l'état du volume passe à
warningétat.
Considérations
Lorsque vous utilisez l'injection de latence EBS, tenez compte des points suivants :
-
L'injection de latence est prise en charge sur tous Nitro-based types d'instances, sauf : P4d, P5, P5e, Trn2u, G6, G6f, Gr6, Gr6f, M8i, M8i-flex, C8i-flex, R8i, R8i-flex, 8GE, Mac-m4pro, et Mac-m4.
-
Vous pouvez constater une variance allant jusqu'à 5 % entre la valeur de latence spécifiée dans l'expérience et la latence résultante observée.
-
Si vous conduisez un très petit nombre de I/O opérations, le pourcentage de I/O spécifié dans les paramètres de l'action peut ne pas correspondre au pourcentage réel de I/O impactés par l'action.
Pour exécuter une expérience d'injection de latence sur un volume Amazon EBS
-
Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/
. -
Dans le panneau de navigation, choisissez Volumes.
-
Sélectionnez les volumes sur lesquels exécuter l'expérience et choisissez Actions, Tests de résilience, Injecter le volume I/O latence.
Le AWS Fault Injection Service la console s'ouvre.
-
Dans le Créer une expérience fenêtre, sélectionnez le type d'expérience à exécuter : Intermittent, En hausse, Soutenu, ou Décroissant.
-
Pour Sélection des rôles 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.
-
Le Estimation de prix La section vous donne une estimation du coût de l'exécution de l'expérience. Avec AWS FIS, vous êtes facturé par minute d'exécution d'une action, du début à la fin, en fonction du nombre de comptes cibles pour votre expérience.
-
Sélectionnez Start experiment (Démarrer une expérience).