Meu volume do Amazon Elastic Block Store (Amazon EBS) não atingiu as cotas de throughput médio ou operações de E/S por segundo (IOPS) médias no Amazon CloudWatch. No entanto, o volume foi limitado e sofri alta latência e comprimento de fila.
Resolução
Por padrão, as métricas do CloudWatch coletam amostras em intervalos de um minuto. No entanto, as operações de E/S ocorrem a uma taxa de milissegundos. Quando o volume sofre intermitências de IOPS ou throughput elevados em um tempo menor do que o intervalo de coleta, o CloudWatch não captura a expansão. Para identificar se seu volume apresenta picos de desempenho em um minuto, execute as seguintes ações.
Use as métricas do CloudWatch para identificar possíveis microexpansões
Verificar VolumeIOPSExceededCheck e VolumeThroughputExceededCheck
As métricas VolumeIOPSExceededCheck e VolumeThroughputExceededCheck mostram quando o IOPS ou o throughput excede o desempenho provisionado do seu volume. As métricas mostram o IOPS e o throughput a qualquer momento em um minuto e fornecem um sinal consolidado com uma granularidade de um minuto. Se você receber um valor de 1 para essas métricas, o workload está em microexpansão.
Verifique a métrica VolumeIdleTime
O grafo da métrica VolumeIdleTime mostra o número de segundos em que você não enviou nenhuma operação de leitura ou gravação em uma duração especificada. Se VolumeIdleTime for alto, o volume permaneceu inativo durante a maior parte da duração. Se uma IOPS ou throughput suficientemente altos ocorreram na mesma duração, o volume sofre uma microexpansão.
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 = ( Sum(VolumeReadBytes) + Sum(VolumeWriteBytes) ) / CEIL(Period - Sum(VolumeIdleTime))
Use a fórmula a seguir para calcular a média de IOPS para o volume do EBS:
IOPS média estimada = ( Sum(VolumeReadOps) + Sum(VolumeWriteOps) ) / CEIL(Period - Sum(VolumeIdleTime))
Use a função CEIL para evitar casos extremos no cálculo. As fórmulas anteriores são para cenários em que VolumeIdleTime está muito próximo do período. Para gerar um cálculo mais preciso, a função CEIL garante que valores próximos de zero não alterem o resultado. Para mais informações, consulte Funções compatíveis com a matemática métrica.
Se o throughput médio ou a IOPS for maior que o throughput máximo ou IOPS do volume, o workload sofrerá microexpansão.
Use estatísticas de desempenho detalhadas do Amazon EBS para identificar possíveis microexpansões
Para visibilidade em tempo real, obtenha estatísticas de desempenho detalhadas para seu volume. Essas estatísticas mostram o número de microssegundos em que seu workload tentou gerar maior IOPS ou throughput do que a cota de desempenho provisionada do volume. O Amazon EBS retém essas estatísticas somente durante a vinculação do volume à instância do Amazon Elastic Compute Cloud (Amazon EC2). Para usá-los para verificar a causa raiz da microexpansão, o Amazon EBS já deve ter capturado os dados.
Para acessar as estatísticas, consulte Acesso às estatísticas.
Use uma ferramenta no nível do sistema operacional para identificar possíveis microexpansões
Um volume do EBS pode sofrer microexpansão mesmo quando VolumeIdleTime está baixo. Para volumes com VolumeIdleTime baixo, use ferramentas do sistema operacional (SO) com coleta granular de amostras para identificar com mais eficiência se o workload esta sofrendo microexpansão.
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
A ferramenta iostat faz parte do pacote sysstat. Se não for possível encontrar o comando iostat, execute o seguinte comando para instalar o sysstat em imagens de máquina da Amazon (AMIs) do Amazon Linux:
sudo yum install sysstat -y
Para mais informações, consulte iostat no site do Linux.
Para determinar se você atingiu a cota de throughput, consulte 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 a cota 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.
Altere o tamanho e o tipo do seu volume para acomodar suas aplicações e evitar microexpansão
A microexpansão pode causar controle de utilização de E/S ou latência de E/S em sua aplicação. Para evitar esse problema, modifique o volume para um tipo e tamanho que acomodem as IOPS e o throughput necessários, mesmo em níveis de microexpansão.
Há um máximo de IOPS e um throughput que a instância pode enviar para todos os volumes do EBS conectados. Para obter mais informações, consulte Tipos de instâncias otimizadas para Amazon EBS.
É uma prática recomendada comparar seus volumes com o workload para determinar os tipos de volume que podem acomodar o workload com segurança em um ambiente de teste.