

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

# Performance de volumes do Amazon EBS
<a name="ebs-performance"></a>

Vários fatores, incluindo I/O características e a configuração de suas instâncias e volumes, podem afetar o desempenho do Amazon EBS. Ao seguir as orientações em nossas páginas de detalhes do produto do Amazon EBS e do Amazon EC2, você muito provavelmente conseguirá atingir uma boa performance. No entanto, há alguns casos em que talvez seja necessário fazer alguns ajustes para atingir a performance máxima. Recomendamos que você ajuste a performance com informações de sua workload real, além da comparação, para determinar sua configuração ideal. Depois de aprender o básico sobre como trabalhar com volumes do EBS, é uma boa ideia analisar o I/O desempenho de que você precisa e suas opções para aumentar o desempenho do Amazon EBS para atender a esses requisitos.

AWS as atualizações no desempenho dos tipos de volume do EBS podem não entrar em vigor imediatamente em seus volumes existentes. Para ver a performance completa em um volume anterior, primeiro é possível precisar realizar uma ação `ModifyVolume` nele. Para obter mais informações, consulte [Modificar um volume do Amazon EBS usando operações de volumes elásticos](ebs-modify-volume.md).

**Topics**
+ [Dicas de performance do Amazon EBS](#tips)
+ [Otimização para o Amazon EBS](ebs-optimization.md)
+ [Inicializar volumes de Amazon EBS](initalize-volume.md)
+ [Ponderação configurável de largura de banda da instância](instance-bandwidth-configuration.md)
+ [I/O Características e monitoramento do Amazon EBS](ebs-io-characteristics.md)
+ [Configuração do Amazon EBS e RAID](raid-config.md)
+ [Avaliar a performance de volumes do Amazon EBS](benchmark_procedures.md)

## Dicas de performance do Amazon EBS
<a name="tips"></a>

Essas dicas representam as melhores práticas para obter a performance ideal de seus volumes do EBS em uma variedade de cenários de usuário.

### Use EBS-optimized instâncias
<a name="optimize"></a>

Em instâncias sem suporte para EBS-optimized taxa de transferência, o tráfego de rede pode enfrentar o tráfego entre sua instância e seus volumes do EBS; em EBS-optimized instâncias, os dois tipos de tráfego são mantidos separados. Algumas configurações de EBS-optimized instância têm um custo extra (como C3, R3 e M3), enquanto outras sempre EBS-optimized têm custo adicional (como M4, C4, C5 e D2). Para obter mais informações, consulte [Otimização para o Amazon EBS](ebs-optimization.md).

### Configurar largura de banda da instância
<a name="icb"></a>

Para tipos de instância compatíveis, você pode configurar a ponderação da largura de banda da instância para aumentar a largura de banda do Amazon EBS em 25% usando a ponderação da largura de banda `ebs-1`. Esse recurso permite que você otimize a alocação de recursos de rede da sua instância entre as redes EBS e VPC, melhorando potencialmente o desempenho do EBS para cargas de trabalho. I/O-intensive Para obter mais informações, consulte [Ponderação configurável de largura de banda da instância](instance-bandwidth-configuration.md).

### Noções básicas de como a performance é calculada
<a name="performance_calculation"></a>

Quando você mede a performance dos volumes do EBS, é importante compreender as unidades de medida envolvidas e como a performance é calculada. Para obter mais informações, consulte [I/O Características e monitoramento do Amazon EBS](ebs-io-characteristics.md).

### Noções básicas da workload
<a name="workload_types"></a>

Há uma relação entre o desempenho máximo dos volumes do EBS, o tamanho e o número de I/O operações e o tempo necessário para que cada ação seja concluída. Cada um desses fatores (desempenho e latência) afeta os outros, e diferentes aplicativos são mais sensíveis a um fator ou outro. I/O Para obter mais informações, consulte [Avaliar a performance de volumes do Amazon EBS](benchmark_procedures.md).

### Esteja ciente da penalidade de performance ao inicializar volumes de snapshots
<a name="initialize"></a>

Há um aumento significativo da latência quando você acessa cada bloco de dados pela primeira vez em um novo volume do EBS que foi criado de um snapshot. É possível evitar essa ocorrência de performance usando uma das seguintes opções:
+ Acessar cada bloco antes de colocar o volume em produção. Esse processo é chamado *inicialização* (conhecido anteriormente como pré-aquecimento). Para obter mais informações, consulte [Inicialize manualmente o volume após a criação](initalize-volume.md#ebs-initialize).
+ Habilite as restauração rápida em um snapshot para garantir que os volumes do EBS criados de um snapshot sejam totalmente inicializados na criação e entreguem instantaneamente toda a sua performance provisionada. Para obter mais informações, consulte [Restauração rápida de snapshots do Amazon EBS](ebs-fast-snapshot-restore.md).

### Fatores que podem reduzir a performance do HDD
<a name="snapshotting_latency"></a>

Quando você cria um snapshot de um volume HDD otimizado para throughput (`st1`) ou HDD a frio (`sc1`), a performance poderá cair até o valor básico do volume enquanto o snapshot estiver em andamento. Esse comportamento é específico desses tipos de volumes. Outros fatores que podem limitar o desempenho incluem gerar mais taxa de transferência do que a instância pode suportar, a penalidade de desempenho encontrada ao inicializar volumes criados a partir de um snapshot e quantidades excessivas de pequenas quantidades aleatórias I/O no volume. Para obter mais informações sobre como calcular a throughput para volumes de HDD, consulte [Tipos de volume do Amazon EBS](ebs-volume-types.md).

Seu desempenho também pode ser afetado se seu aplicativo não estiver enviando I/O solicitações suficientes. Isso pode ser monitorado observando o I/O tamanho e o tamanho da fila do seu volume. O tamanho da fila é o número de I/O solicitações pendentes do seu aplicativo para o seu volume. Para obter a máxima consistência, HDD-backed os volumes devem manter um comprimento de fila (arredondado para o número inteiro mais próximo) de 4 ou mais ao executar uma sequência de 1 I/O MiB. Para obter mais informações sobre como garantir um desempenho consistente dos volumes, consulte [I/O Características e monitoramento do Amazon EBS](ebs-io-characteristics.md).

### Aumentar a leitura antecipada para workloads com muitas operações de leitura e alta throughput em `st1` e `sc1` (*somente instâncias do Linux*)
<a name="read_ahead"></a>

Algumas workloads têm muita leitura e acessam o dispositivo de blocos pelo cache da página do sistema operacional (por exemplo, de um sistema de arquivos). Nesse caso, para alcançar a throughput máxima, recomendamos que você defina a configuração de leitura antecipada como 1 MiB. Essa é uma configuração de dispositivo por bloco que somente deve ser aplicada aos volumes de HDD.

Para examinar o valor atual de leitura antecipada para os dispositivos de blocos, use o seguinte comando:

```
$ sudo blockdev --report /dev/{{<device>}}
```

As informações do dispositivo de blocos são retornadas neste formato:

```
RO    RA   SSZ   BSZ   StartSec            Size   Device
rw   256   512  4096       4096      8587820544   /dev/<device>
```

O dispositivo mostrado relata um valor de leitura antecipada de 256 (o padrão). Multiplique esse número pelo tamanho do setor (512 bytes) para obter o tamanho de buffer de leitura antecipada, que nesse caso é 128 KiB. Para configurar o valor de buffer de 1 MiB, use o seguinte comando:

```
$ sudo blockdev --setra 2048 /dev/{{<device>}}
```

Verifique se a configuração de leitura antecipada agora exibe 2.048 executando o primeiro comando novamente.

Use essa configuração somente quando sua carga de trabalho consistir em uma carga grande e sequencial I/Os. Se consistir principalmente em valores pequenos e aleatórios I/Os, essa configuração realmente degradará seu desempenho. Em geral, se sua carga de trabalho consistir principalmente em volumes pequenos ou aleatórios I/Os, considere usar um volume SSD (`gp2`e`gp3`) de uso geral em vez de um volume `st1` ou`sc1`.

### Use um kernel do Linux moderno (*somente instâncias do Linux*)
<a name="ModernKernel"></a>

Use um kernel do Linux moderno com suporte para descritores indiretos. Qualquer kernel do Linux versão 3.8 e posterior tem esse suporte, bem como qualquer instância do EC2 da geração atual. Se seu I/O tamanho médio for igual ou próximo a 44 KiB, você pode estar usando uma instância ou kernel sem suporte para descritores indiretos. Para obter informações sobre como derivar o I/O tamanho médio das CloudWatch métricas da Amazon, consulte. [I/O Características e monitoramento do Amazon EBS](ebs-io-characteristics.md)

Para alcançar a throughput máxima em volumes `st1` ou `sc1`, recomendamos aplicar um valor de 256 ao parâmetro `xen_blkfront.max` (para versões de kernel do Linux abaixo de 4.6) ou o parâmetro `xen_blkfront.max_indirect_segments` (para a versão de kernel do Linux 4.6 e acima). O parâmetro apropriado pode ser definido na linha de comando de inicialização do sistema operacional. 

Por exemplo, em uma AMI do Amazon Linux com um kernel mais antigo, é possível adicioná-lo ao final da linha de kernel na configuração de GRUB encontrada em `/boot/grub/menu.lst`:

```
kernel /boot/vmlinuz-4.4.5-15.26.amzn1.x86_64 root=LABEL=/ console=ttyS0 xen_blkfront.max=256
```

Para um kernel mais recente, o comando será semelhante ao seguinte:

```
kernel /boot/vmlinuz-4.9.20-11.31.amzn1.x86_64 root=LABEL=/ console=tty1 console=ttyS0 xen_blkfront.max_indirect_segments=256
```

Reinicialize sua instância para que essa configuração seja implementada.

Para obter mais informações, consulte [Configurar o GRUB para AMIs paravirtuais](https://docs.aws.amazon.com/linux/al2/ug/UserProvidedKernels.html#configuringGRUB). Outras distribuições do Linux, especialmente aquelas que não usam o carregador de inicialização de GRUB, podem exigir uma abordagem diferente para ajustar os parâmetros de kernel.

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

### Usar o RAID 0 para maximizar a utilização de recursos de instância
<a name="RAID"></a>

Alguns tipos de instância podem gerar mais I/O taxa de transferência do que você pode provisionar para um único volume do EBS. É possível adicionar vários volumes juntos em uma configuração de RAID 0 para usar a largura de banda disponível para essas instâncias. Para obter mais informações, consulte [Configuração do Amazon EBS e RAID](raid-config.md).

### Monitore a performance de volumes do Amazon EBS
<a name="cloudwatch"></a>

Você pode monitorar e analisar o desempenho de seus volumes do Amazon EBS usando a Amazon CloudWatch, verificações de status e estatísticas detalhadas de desempenho do EBS. Para obter mais informações, consulte [CloudWatch Métricas da Amazon para Amazon EBS](using_cloudwatch_ebs.md) e [Estatísticas detalhadas de desempenho do Amazon EBS](nvme-detailed-performance-stats.md).