

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á.

# I/O Características e monitoramento do Amazon EBS
<a name="ebs-io-characteristics"></a>

Em uma determinada configuração de volume, certas I/O características determinam o comportamento de desempenho dos seus volumes do EBS.
+ SSD-backed volumes, SSD de uso geral (`gp2`e`gp3`) e SSD de IOPS provisionado (`io1`e`io2`), oferecem desempenho consistente, independentemente de uma I/O operação ser aleatória ou sequencial.
+ HDD-backed volumes, HDD com taxa de transferência otimizada (`st1`) e HDD frio (`sc1`), oferecem desempenho ideal somente quando I/O as operações são grandes e sequenciais.

Para entender como os volumes de SSD e HDD funcionarão em seu aplicativo, é importante conhecer a conexão entre a demanda do volume, a quantidade de IOPS disponível, o tempo necessário para a conclusão de uma I/O operação e os limites de taxa de transferência do volume.

**Topics**
+ [IOPS](#ebs-io-iops)
+ [Comprimento e latência da fila de volume](#ebs-io-volume-queue)
+ [I/O limites de taxa de transferência de tamanho e volume](#ebs-io-size-throughput-limits)
+ [Monitore I/O as características usando CloudWatch](#ebs-io-metrics)
+ [Monitore estatísticas de I/O desempenho em tempo real](#monitor-io-nvme)
+ [Recursos relacionados](#ebs-io-resources)

## IOPS
<a name="ebs-io-iops"></a>

O IOPS é uma unidade de medida que representa input/output operações por segundo. As operações são medidas em KiB, e a tecnologia de drive subjacente determina a quantidade máxima de dados que um tipo de volume conta como um único I/O. I/O o tamanho é limitado a 256 KiB para volumes SSD e 1.024 KiB para volumes de HDD porque os volumes SSD lidam com volumes pequenos ou aleatórios com I/O muito mais eficiência do que volumes de HDD. 

Quando pequenas I/O operações são fisicamente sequenciais, o Amazon EBS tenta mesclá-las em uma única I/O operação até o tamanho máximo. I/O Da mesma forma, quando I/O as operações são maiores do que o I/O tamanho máximo, o Amazon EBS tenta dividi-las em I/O operações menores. A tabela a seguir mostra alguns exemplos.



- **SSD**
  - **I/O Tamanho máximo:** 256 KiB
  - **I/O operações do seu aplicativo:** 1 x 1024 KB de operação I/O  / **Número de IOPS:** 4 (1.024 ÷ 256 = 4) / **Observações:** O Amazon EBS divide a operação de 1.024 KiB em quatro I/O operações menores de 256 KiB.
  - **I/O operações do seu aplicativo:** 8 operações sequenciais de 32 KiB I/O  / **Número de IOPS:** 1 (8 x 32 = 256) / **Observações:** O Amazon EBS mescla as oito I/O operações sequenciais de 32 KiB em uma única operação de 256 KiB.
  - **I/O operações do seu aplicativo:** 8 I/O operações aleatórias de 32 KiB / **Número de IOPS:** 8 / **Observações:** O Amazon EBS conta as I/O operações aleatórias separadamente.

- **HDD**
  - **I/O Tamanho máximo:** 1.024 KiB
  - **I/O operações do seu aplicativo:** 1 x 1024 KB de operação I/O  / **Número de IOPS:** 1 / **Observações:** A I/O operação já é igual ao I/O tamanho máximo. Ela não é mesclada ou dividida.
  - **I/O operações do seu aplicativo:** 8 operações sequenciais de 128 KB I/O  / **Número de IOPS:** 1 (8 x 128 = 1.024) / **Observações:** O Amazon EBS mescla as oito I/O operações sequenciais de 128 KiB em uma única operação de 1.024 KiB. I/O 
  - **I/O operações do seu aplicativo:** 8 I/O operações aleatórias de 32 KiB / **Número de IOPS:** 8 / **Observações:** O Amazon EBS conta as I/O operações aleatórias separadamente.



Consequentemente, quando você cria um SSD-backed volume com suporte a 3.000 IOPS (provisionando um `io1` `io2` volume com 3.000 IOPS, dimensionando um `gp2` volume em 1.000 GiB ou usando um `gp3` volume) e o anexa a uma EBS-optimized instância que pode fornecer largura de banda suficiente, você pode transferir até 3.000 dados por segundo, com a taxa I/Os de transferência determinada pelo tamanho. I/O 

## Comprimento e latência da fila de volume
<a name="ebs-io-volume-queue"></a>

O tamanho da fila de volume é o número de I/O solicitações pendentes para um dispositivo. A latência é o verdadeiro tempo de uma I/O operação do cliente de ponta a ponta, em outras palavras, o tempo decorrido entre o envio de um I/O para o EBS e o recebimento de uma confirmação do EBS de que a leitura ou gravação foi concluída. I/O O comprimento da fila deve ser calibrado corretamente com I/O tamanho e latência para evitar a criação de gargalos no sistema operacional convidado ou no link de rede para o EBS.

O tamanho ideal da fila varia para cada workload, dependendo da sensibilidade de sua aplicação específica em relação à IOPS e à latência. Se sua carga de trabalho não estiver entregando I/O solicitações suficientes para usar totalmente o desempenho disponível para seu volume do EBS, seu volume pode não fornecer o IOPS ou a taxa de transferência que você provisionou. 

Transaction-intensive os aplicativos são sensíveis ao aumento da I/O latência e são adequados para SSD-backed volumes. É possível manter a IOPS alta e, ao mesmo tempo, a latência baixa mantendo uma fila de comprimento pequeno e um alto número de IOPS disponíveis para o volume. Conduzir consistentemente mais IOPS para um volume do que o disponível pode causar maior I/O latência. Para obter máxima consistência, um volume deve manter uma profundidade média de fila (arredondada para o número inteiro mais próximo) de uma para cada 1.000 IOPS provisionadas em um minuto. Por exemplo, para um volume provisionado com 3.000 IOPS, a média da profundidade da fila deve ser 3.

Throughput-intensive os aplicativos são menos sensíveis ao aumento da I/O latência e são adequados para HDD-backed volumes. Você pode manter uma alta taxa de transferência de HDD-backed volumes mantendo um alto comprimento de fila ao realizar trabalhos sequenciais grandes. I/O

## I/O limites de taxa de transferência de tamanho e volume
<a name="ebs-io-size-throughput-limits"></a>

Para SSD-backed volumes, se seu I/O tamanho for muito grande, você poderá ter um número menor de IOPS do que o provisionado porque está atingindo o limite de taxa de transferência do volume. Por exemplo, um `gp2` volume abaixo de 1.000 GiB com créditos de burst disponíveis tem um limite de IOPS de 3.000 e um limite de taxa de transferência de volume de 250. MiB/s Se você estiver usando um I/O tamanho de 256 KiB, seu volume atingirá o limite de taxa de transferência em 1000 IOPS (1000 x 256 KiB = 250 MiB). Para I/O tamanhos menores (como 16 KiB), esse mesmo volume pode sustentar 3.000 IOPS porque a taxa de transferência está bem abaixo de 250. MiB/s (Esses exemplos pressupõem que seu volume não I/O esteja atingindo os limites de taxa de transferência da instância.) Para obter mais informações sobre os limites de throughput para cada tipo de volume do EBS, consulte [Tipos de volume do Amazon EBS](ebs-volume-types.md). 

Para I/O operações menores, você pode ver um valor de IOPS maior do que o provisionado, medido de dentro da sua instância. Isso acontece quando o sistema operacional da instância mescla pequenas I/O operações em uma operação maior antes de passá-las para o Amazon EBS.

Se sua carga de trabalho usar `sc1` volumes HDD-backed `st1` e entradas sequenciais I/Os , você poderá ter um número de IOPS maior do que o esperado, conforme medido de dentro da sua instância. Isso acontece quando o sistema operacional da instância mescla sequencialmente I/Os e as conta em KiB-sized 1.024 unidades. Se sua carga de trabalho for pequena ou aleatória I/Os, você poderá ter uma taxa de transferência menor do que a esperada. Isso ocorre porque cada número aleatório e não sequencial I/O conta para a contagem total de IOPS, o que pode fazer com que você atinja o limite de IOPS do volume mais cedo do que o esperado.

Seja qual for o tipo de volume do EBS, se você não tiver a IOPS ou a taxa de transferência esperada em sua configuração, certifique-se de que a largura de banda da sua instância EC2 não seja o fator limitante. Você deve sempre usar uma EBS-optimized instância da geração atual (ou uma que inclua 10 conexões de Gb/s rede) para obter o desempenho ideal. Outra causa possível para não obter o IOPS esperado é que você não está direcionando o suficiente I/O para os volumes do EBS.

## Monitore I/O as características usando CloudWatch
<a name="ebs-io-metrics"></a>

Você pode monitorar essas I/O características com as métricas de volume de cada [ CloudWatch volume](using_cloudwatch_ebs.md#ebs-volume-metrics).

**Monitor para parado I/O**  
`VolumeStalledIOCheck` monitora o status dos volumes do EBS para determinar quando eles estão danificados. A métrica é um valor binário que retornará um status `0` (aprovado) ou `1` (reprovado) com base no fato de o volume do EBS poder ou não concluir I/O as operações. 

Se a `VolumeStalledIOCheck` métrica falhar, você pode esperar AWS até resolver o problema ou tomar medidas, como substituir o volume afetado ou interromper e reiniciar a instância à qual o volume está conectado. Na maioria dos casos, quando essa métrica falha, o EBS diagnostica e recupera automaticamente o volume em alguns minutos. Você pode usar a I/O [ ação ](ebs-fis.md) Pause in AWS Fault Injection Service para executar experimentos controlados para testar sua arquitetura e monitoramento com base nessa métrica para melhorar sua resiliência a falhas de armazenamento.

**Monitore a I/O latência de um volume**  
É possível monitorar a latência média das operações de leitura e gravação de um volume do Amazon EBS usando as métricas `VolumeAvgReadLatency` e `VolumeAvgWriteLatency`, respectivamente. Você pode usar a [ ação de Injeção de ](ebs-fis-latency-injection.md) Latência AWS Fault Injection Service para executar experimentos controlados para testar sua arquitetura e monitoramento com base nessa métrica para melhorar sua resiliência à degradação do desempenho do armazenamento.

Se sua I/O latência for maior do que a necessária, certifique-se de que seu aplicativo não esteja tentando gerar mais IOPS ou taxa de transferência do que você provisionou para seu volume. É possível usar as métricas `VolumeAvgIOPS` e `VolumeAvgThroughput` para monitorar a média de IOPS e o throughput direcionados ao seu volume em um minuto e, em seguida, compará-los com as IOPS provisionadas e o throughput do volume. Se o volume não conduzir nenhuma operação durante o minuto, as métricas reportarão um valor de zero (`0`). Se surtos de IOPS ou throughput elevados ocorrerem por um período menor do que o intervalo de um minuto, o volume experimentará um microssurto, mas as métricas médias de IOPS e de throughput podem indicar que você está gerando uma performance inferior às IOPS provisionadas ou aos limites de throughput do seu volume. Para identificar se seu volume apresenta surtos de performance em um determinado minuto, você pode usar as métricas `VolumeIOPSExceededCheck` e `VolumeThroughputExceededCheck`. É possível monitorar essas métricas para saber se seu workload tentou consistentemente gerar IOPS ou throughput maiores do que a performance provisionada do seu volume em um determinado minuto. Se as IOPS geradas em qualquer segundo dentro de um minuto exceder consistentemente a performance de IOPS provisionada do seu volume, a métrica `VolumeIOPSExceededCheck` retornará `1`. Se o throughput gerado em qualquer segundo dentro de um minuto exceder consistentemente a performance de throughput provisionada do seu volume, a métrica `VolumeThroughputExceededCheck` retornará `1`. Se as IOPS e o throughput gerados estiverem dentro da performance provisionada do seu volume, as métricas retornarão `0`.

Se a aplicação exigir um número de IOPS maior do que seu volume pode fornecer, será necessário considerar usar um dos seguintes:
+ Um volume `gp3`, `io2` ou `io1` que seja provisionado com IOPS suficientes para atingir a latência necessária
+ Um volume `gp2` maior que forneça performance de IOPS de base suficiente

HDD-backed `st1`e `sc1` os volumes são projetados para funcionar melhor com cargas de trabalho que aproveitam o tamanho máximo de 1.024 KiB. I/O Para determinar o I/O tamanho médio do volume, divida `VolumeWriteBytes` por`VolumeWriteOps`. O mesmo cálculo se aplica a operações de leitura. Se o I/O tamanho médio estiver abaixo de 64 KiB, aumentar o tamanho das I/O operações enviadas para um `sc1` volume `st1` or deve melhorar o desempenho.

**Monitore o equilíbrio do burst bucket para volumes `gp2`, `st1 e sc1` ``**  
`BurstBalance` exibe o saldo do bucket de intermitência para os volumes `gp2`, `st1` e `sc1` como um porcentual do saldo restante. Quando seu intervalo intermitente está esgotado, o volume I/O (para `gp2` volumes) ou a taxa de transferência de volume (para `st1` e `sc1` volumes) é reduzido para a linha de base. Verifique o valor `BurstBalance` para determinar se seu volume está sendo limitado por esse motivo. Para obter uma lista completa das métricas disponíveis do Amazon EBS, consulte [CloudWatch Métricas da Amazon para o Amazon EBS](using_cloudwatch_ebs.md) as métricas do [ Amazon EBS para Nitro-based instâncias. ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html#ebs-metrics-nitro)

## Monitore estatísticas de I/O desempenho em tempo real
<a name="monitor-io-nvme"></a>

Você pode acessar estatísticas detalhadas de desempenho em tempo real dos volumes do Amazon EBS que estão anexados às instâncias do Nitro-based Amazon EC2.

Você pode combinar essas estatísticas para obter a latência média e o IOPS ou para verificar se I/O as operações estão sendo concluídas. Você também pode visualizar o tempo total em que sua aplicação excedeu os limites de IOPS ou de throughput provisionados do volume do EBS ou da instância anexada. Ao monitorar os aumentos dessas estatísticas ao longo do tempo, você pode identificar se precisa aumentar as IOPS provisionadas ou os limites de throughput para otimizar a performance da sua aplicação. As estatísticas detalhadas de desempenho também incluem histogramas para I/O operações de leitura e gravação, que fornecem uma distribuição de sua I/O latência ao acompanhar o número total de I/O operações concluídas em uma faixa de latência.

Para obter mais informações, consulte [Estatísticas detalhadas de performance do Amazon EBS](nvme-detailed-performance-stats.md).

## Recursos relacionados
<a name="ebs-io-resources"></a>

Para obter mais informações sobre as I/O características do Amazon EBS, consulte a seguinte apresentação do re:Invent: [ Amazon EBS: Designing for Performance. ](https://www.youtube.com/watch?v=2wKgha8CZ_w)