Ao usar o AWS re:Post, você concorda com os AWS re:Post Termos de uso

Como faço para identificar se meu volume do Amazon EBS está sofrendo microintermitência e, em seguida, garantir que isso não afete o desempenho?

5 minuto de leitura
0

Tenho um volume do Amazon Elastic Block Store (Amazon EBS) que não atingiu seu limite de throughput ou operações de entrada e saída por segundo (IOPS) no Amazon CloudWatch. Contudo, o volume sofre controle de utilização e apresenta alta latência e comprimento de fila.

Solução

As métricas do CloudWatch ajudam a monitorar as IOPS e o throughput de todos os tipos de volume do Amazon EBS. As métricas do CloudWatch coletam amostras a cada intervalo de um minuto. No entanto, as operações de E/S são executadas a uma taxa de milissegundos. Quando o volume experimenta intermitências de IOPS ou throughput elevados em um intervalo de tempo menor do que o intervalo de coleta, o CloudWatch não captura a intermitência. Essa falha ocorre porque o monitoramento métrico ocorre a uma taxa por segundo.

Use as métricas do CloudWatch para identificar possíveis microintermitências

Verifique a métrica VolumeIdleTime

O grafo da métrica VolumeIdleTime mostra o número de segundos em que nenhuma operação de leitura ou gravação foi enviada, em uma duração especificada. Se VolumeIdleTime for alto, o volume permaneceu inativo durante a maior parte da duração. Se durante o mesmo período houve uma IOPS ou throughput suficientemente elevados, esse volume sofreu uma microintermitência.

Calcule o throughput médio e as IOPS médias que o volume do EBS recebeu

Use a fórmula a seguir para calcular o throughput médio do volume do EBS:

Throughput médio estimado em Bps = (Sum(VolumeReadBytes) + Sum(VolumeWriteBytes) ) / (Period - Sum(VolumeIdleTime) )

Use a fórmula a seguir para calcular a média de IOPS para o volume do EBS:

IOPS médio estimado em Operações = (Sum(VolumeReadOps) + Sum(VolumeWriteOps) ) / ( Period - Sum(VolumeIdleTime) )

Use o CloudWatch para obter o evento de microintermitência

Conclua as seguintes etapas:

  1. Abra o console do CloudWatch.
  2. Escolha Todas as métricas.
  3. Use o ID do volume para pesquisar o volume que sofreu uma microintermitência.
  4. Escolha EBS e, em seguida, Métricas por volume.
  5. Para visualizar as métricas de throughput, selecione VolumeReadBytes, VolumeWriteBytes e VolumeIdleTime.
  6. Escolha Métricas representadas graficamente.
  7. Em Estatísticas, selecione Soma e, em Período, selecione 1 minuto.
  8. Em Adicionar matemática, escolha Iniciar com uma expressão vazia.
  9. Para obter detalhes da expressão, use os IDs de grafo atribuídos para VolumeReadBytes, VolumeWriteBytes, VolumeIdleBytes. Isso cria a fórmula de throughput médio estimado em Bps.
    Por exemplo: (m1+m2)/(60-m3).

Se o grafo mostrar um valor maior do que o throughput máximo do volume, o workload está sofrendo microintermitência.

Para verificar se houve microintermitência devido às operações de E/S, siga as etapas anteriores. Em seguida, na etapa 5, substitua VolumeReadBytes, VolumeWriteBytes e VolumeIdleTime por VolumeReadOps, VolumeWriteOps e VolumeIdleTime.

Use uma ferramenta de sistema operacional para confirmar a microintermitência

Um volume do EBS pode sofrer microintermitência mesmo quando um volume está ocupado (VolumeIdleTime baixo). Para volumes com baixo VolumeIdleTime, as ferramentas de sistema operacional com coleta granular de amostras são uma forma mais eficiente de identificar se o workload está sofrendo microintermitência.

Linux

Para relatar estatísticas de E/S de todos os seus volumes montados com granularidade de um segundo, execute o comando iostat:

iostat -xdmzt 1

Para obter mais informações, consulte iostat(1) na página principal do site do Linux.

Observação: a ferramenta iostat faz parte do pacote sysstat. Se você não conseguir encontrar o comando iostat, execute o seguinte comando para instalar o sysstat nas Application Machine Images (AMIs) do Amazon Linux:

sudo yum install sysstat -y

Para determinar se você atingiu o limite de throughput, revise os RMBps e WMBps na saída. Se RMBps + WMBps for maior que o throughput máximo do volume, o volume sofrerá microintermitência.

Para determinar se você atingiu o limite de IOPS, revise o rps e o wps na saída. Se rps + wps for maior que as IOPS máximas do volume, o volume sofrerá microintermitência.

Windows

Execute o comando perfmon no Monitor de desempenho do Windows. Para obter mais informações, consulte Determine seus requisitos de IOPS e throughput.

Altere o tamanho e o tipo do seu volume para acomodar suas aplicações e evitar microintermitências

A microintermitência pode causar controle de utilização de E/S ou latência de E/S em sua aplicação. Para evitar isso, modifique o volume para um tipo e tamanho que acomodem as IOPS e o throughput necessários, mesmo em níveis de microintermitência. Para obter mais informações, consulte Tipos de volume do Amazon EBS. Há limites de IOPS e throughput que a instância pode enviar para todos os volumes do EBS conectados.

É uma prática recomendada comparar seus volumes com seu workload para verificar quais tipos de volume podem acomodar seu workload com segurança em um ambiente de teste. Para mais informações, consulte Comparar volumes do Amazon EBS.

AWS OFICIAL
AWS OFICIALAtualizada há um mês