

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 orientam o comportamento de desempenho de seus volumes do EBS.
+ Volumes baseados em SSD, SSD de uso geral (`gp2`e`gp3`) e SSD de IOPS provisionada (`io1`e`io2`) oferecem desempenho consistente, independentemente de uma operação ser aleatória ou sequencial. I/O 
+ Volumes baseados em HDD, 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 o desempenho dos volumes SSD e HDD em seu aplicativo, é importante conhecer a conexão entre a demanda no 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)
+ [Limites de throughput de tamanho e volume de E/S](#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 as 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 considera único com I/O. I/O size is capped at 256 KiB for SSD volumes and 1,024 KiB for HDD volumes because SSD volumes handle small or random I/O muito mais eficiência do que os 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 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.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/ebs/latest/userguide/ebs-io-characteristics.html)

Consequentemente, quando você cria um volume baseado em SSD com suporte a 3.000 IOPS (provisionando um `io2` volume `io1` ou com 3.000 IOPS, dimensionando um volume `gp2` em 1.000 GiB ou usando um `gp3` volume) e o anexa a uma instância otimizada para EBS que pode fornecer largura de banda suficiente, você pode transferir até 3.000 dados por segundo, com a taxa de transferência determinada pelo tamanho. I/Os 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 tempo real de uma I/O operação para o end-to-end cliente, em outras palavras, o tempo decorrido entre o envio de uma 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 o I/O tamanho e a latência para evitar a criação de gargalos no sistema operacional convidado ou no link de rede com 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, talvez seu volume não forneça o IOPS ou a taxa de transferência que você provisionou. 

Os aplicativos com uso intenso de transações são sensíveis ao aumento da I/O latência e são adequados para volumes baseados em SSD. É 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. Direcionar consistentemente mais IOPS para um volume do que ele tem 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.

Os aplicativos que consomem muita taxa de transferência são menos sensíveis ao aumento da I/O latência e são adequados para volumes baseados em HDD. É possível manter alta throughput para volumes baseados em HDD mantendo uma fila de comprimento maior ao executar E/S grande e sequencial.

## Limites de throughput de tamanho e volume de E/S
<a name="ebs-io-size-throughput-limits"></a>

Para volumes baseados em SSD, 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 pico disponíveis tem um limite de IOPS de 3.000 e um limite de taxa de transferência de volume de 250 não MiB/s. If you are using a 256 KiB I/O size, your volume reaches its throughput limit at 1000 IOPS (1000 x 256 KiB = 250 MiB). For smaller I/O sizes (such as 16 KiB), this same volume can sustain 3,000 IOPS because the throughput is well below 250 MiB/s. (These examples assume that your volume's I/O está 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 higher-than-provisioned IOPS medido de dentro da sua instância. Isso acontece quando o sistema operacional da instância funde operações pequenas de E/S em uma operação maior antes de passá-las ao Amazon EBS.

Se sua carga de trabalho usa sequenciais I/Os em HDD `st1` e `sc1` volumes, você pode 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 unidades do tamanho de 1.024 KiB. Se sua carga de trabalho for pequena ou aleatória I/Os, you may experience a lower throughput than you expect. This is because we count each random, non-sequential I/O em relação à contagem total de IOPS, isso 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 a IOPS ou a throughput não forem conforme o esperado de acordo com a configuração, garanta que a largura de banda da instância do EC2 não seja o fator limitante. Você deve sempre usar uma instância otimizada para EBS da geração atual (ou uma que inclua 10 conexões de Gb/s rede) para obter um desempenho ideal. Outra causa possível para não experimentar 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).

**Monitorar E/S paralisado**  
`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 na capacidade ou não do volume do EBS concluir I/O as operações. 

Se a `VolumeStalledIOCheck` métrica falhar, você pode esperar AWS para 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 ação [Pausar I/O](ebs-fis.md) 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 latência](ebs-fis-latency-injection.md) 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

Os `sc1` volumes `st1` e suportados por HDD foram projetados para ter o melhor desempenho 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 seu volume, divida `VolumeWriteBytes` por`VolumeWriteOps`. O mesmo cálculo se aplica a operações de leitura. Se o I/O tamanho médio for inferior a 64 KiB, aumentar o tamanho das I/O operações enviadas para um `sc1` volume `st1` or deve melhorar o desempenho.

**Monitorar o saldo de bucket de intermitência 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 burst bucket se esgota, o volume I/O (para `gp2` volumes) ou a taxa de transferência do volume (para `st1` e `sc1` volumes) são reduzidos 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 do Amazon EBS disponíveis, consulte [CloudWatch Métricas da Amazon para Amazon EBS](using_cloudwatch_ebs.md) e [Métricas do Amazon EBS para instâncias baseadas Nitro](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>

É possível acessar, em tempo real, estatísticas de performance detalhadas de volumes do Amazon EBS que estão anexados a instâncias baseadas no Nitro do 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 dentro de uma faixa de latência.

Para obter mais informações, consulte [Estatísticas detalhadas de desempenho 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](https://www.youtube.com/watch?v=2wKgha8CZ_w): Designing for Performance.