View a markdown version of this page

Injeção de latência - Amazon EBS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Injeção de latência

Use a ação de Injeção de Latência (aws:ebs:volume-io-latency) AWS FIS para simular I/O latência elevada em seus volumes do Amazon EBS para testar como seus aplicativos respondem à degradação do desempenho do armazenamento. Essa ação permite que você especifique o valor da latência a ser injetada, bem como a porcentagem I/O que será afetada no volume alvo. Com AWS FIS, você pode usar modelos de experimento de latência pré-configurados para começar a testar diferentes padrões de I/O latência que podem ser observados durante falhas de armazenamento. Esses modelos foram projetados como um conjunto inicial de cenários que você pode usar para introduzir interrupções nas aplicações e testar a resiliência. Eles não foram projetados para abranger todos os tipos de impacto que suas aplicações podem experimentar no mundo real. Recomendamos adaptá-los para executar vários testes diferentes com base nas necessidades da performance das suas aplicações. É possível personalizar os modelos disponíveis ou criar novos modelos de experimentos para testar os requisitos específicos da sua aplicação.

Pre-configured modelos de experimentos de latência

O Amazon EBS oferece os seguintes modelos de experimento de latência por meio do console do EBS e da biblioteca de cenários do AWS FIS. Use esses modelos diretamente em seus volumes de destino para executar um experimento de injeção de latência.

  • Latência sustentada: simula latência constante. Este experimento utiliza uma ação de injeção de latência e tem uma duração total de 15 minutos. Esse experimento simula a latência persistente em 50% da leitura I/O e 100% da gravação I/O: 500 ms por 15 minutos.

  • Aumento da latência: simula o aumento gradual da latência. Esse experimento utiliza cinco ações de injeção de latência e tem uma duração total de 15 minutos. Esse experimento simulará um aumento gradual na latência em 10% da leitura I/O e 25% da gravação I/O: 50 ms por 3 minutos, 200 ms por 3 minutos, 700 ms por 3 minutos, 1 segundo por 3 minutos e 15 segundos por 3 minutos.

  • Latência intermitente: simula picos nítidos de latência intermitente com períodos de recuperação intermediários. Esse experimento utiliza três ações de injeção de latência e tem uma duração total de 15 minutos. Esse experimento simulará três picos de latência em 0,1% da leitura e gravação I/O: pico de 30 segundos que dura 1 minuto, pico de 10 segundos que dura 2 minutos e pico de 20 segundos que dura 2 minutos. Haverá períodos de recuperação de 5 minutos entre cada pico de latência.

  • Diminuição da latência: simula a diminuição gradual da latência. Esse experimento utiliza cinco ações de injeção de latência e tem uma duração total de 15 minutos. Esse experimento simulará uma diminuição gradual da latência em 10% da leitura I/O e gravação I/O: 20 segundos por 3 minutos, 5 segundos por 3 minutos, 900 ms por 3 minutos, 300 ms por 3 minutos e 40 ms por 3 minutos.

Personalizar cenários predefinidos

Você personaliza os modelos pré-configurados acima ou cria seus próprios novos modelos de experimento usando os seguintes parâmetros personalizáveis.

  • readIOPercentage— Porcentagem de I/O operações de leitura nas quais a latência será injetada. Essa é a porcentagem de todas as I/O operações de leitura no volume que serão afetadas pela ação.

    Intervalo: mín. 0,1%, máx. 100%

  • readIOLatencyMilliseconds— Quantidade de latência injetada nas operações de leitura I/O . Esse é o valor da latência que será observado na porcentagem especificada da leitura I/O durante o experimento.

    Intervalo: mínimo de 1 ms (io2) /10 ms (não io2), máximo de 60 segundos

  • writeIOPercentage— Porcentagem de I/O operações de gravação nas quais a latência será injetada. Essa é a porcentagem de todas as I/O operações de gravação no volume que serão afetadas pela ação.

    Intervalo: mín. 0,1%, máx. 100%

  • writeIOLatencyMilliseconds— Quantidade de latência injetada nas operações de gravação I/O . Esse é o valor da latência que será observado na porcentagem especificada da gravação I/O durante o experimento.

    Intervalo: mínimo de 1 ms (io2) /10 ms (não io2), máximo de 60 segundos

  • duration— Duração pela qual a latência será injetada na porcentagem I/O selecionada.

    Intervalo: mínimo de 1 segundo, máximo de 12 horas

Monitorar a injeção de latência

É possível monitorar o impacto na performance dos volumes das seguintes maneiras:

  • Use métricas de latência média CloudWatch para obter a latência média I/O por minuto. Para obter mais informações, consulte Monitore seus volumes do EBS usando CloudWatch.

  • Use as estatísticas detalhadas de desempenho do EBS disponíveis por meio do NVMe-CLI CloudWatch agente e do Prometheus para obter a latência média por segundo. I/O As métricas detalhadas também fornecem histogramas de I/O latência que você pode usar para analisar a variação da latência em seus volumes. Para obter mais informações, consulte Estatísticas detalhadas de performance do NVMe.

  • Use a Verificações de status de volume do Amazon EBS. Quando você injeta I/O latência, o status do volume muda para o estado. warning

Considerações

Considere o seguinte ao usar a injeção de latência do EBS:

  • A injeção de latência é suportada em todos os tipos de Nitro-based instância, exceto: P4d, P5, P5e, Trn2u, G6, G6f, Gr6, GR6f, M8i,,, R8i, I8ge, e. M8i-flex C8i-flex R8i-flex Mac-m4pro Mac-m4

  • Pode haver uma variação de até 5% entre o valor de latência especificado no experimento e a latência resultante observada.

  • Se você conduzir um número muito pequeno de I/O operações, a porcentagem I/O especificada nos parâmetros da ação pode não corresponder à porcentagem real de I/O impactados pela ação.

Para executar um experimento de injeção de latência em um volume do Amazon EBS
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, escolha Volumes.

  3. Selecione os volumes nos quais executar o experimento e escolha Ações, Teste de resiliência, Injetar latência de volume I/O .

    O AWS Fault Injection Service console é aberto.

  4. Na janela Criar experimento, selecione o tipo de experimento a ser executado: Intermitente, Crescente, Sustentado ou Decrescente.

  5. Para seleção de função do IAM, escolha Criar uma nova função para criar uma nova função que AWS FIS será usada para conduzir os experimentos em seu nome. Outra opção é escolher Usar um perfil do IAM existente caso você tenha criado um perfil do IAM anteriormente com as permissões necessárias.

  6. A seção Estimativa de preços oferece uma estimativa do custo da execução do experimento. Com AWS FIS, você é cobrado por minuto de execução de uma ação, do início ao fim, com base no número de contas-alvo do seu experimento.

  7. Escolha Start experiment (Iniciar experimento).