Performance de volumes do Amazon EBS - Amazon EBS

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

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. Se você seguir as orientações em nossas páginas de detalhes EC2 do Amazon EBS e do produto Amazon, geralmente obterá um bom desempenho. 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.

Dicas de performance do Amazon EBS

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.

Usar instâncias otimizadas para EBS

Em instâncias sem suporte para a throughput otimizada para EBS, o tráfego de rede poderá competir com o tráfego entre sua instância e seus volumes do EBS. Em instâncias otimizadas para EBS, os dois tipos de tráfego são mantidos separados. Algumas configurações de instâncias otimizadas para EBS incorrem um custo extra (como C3, R3 e M3), enquanto outras são sempre otimizadas para EBS sem custo extra (como M4, C4, C5 e D2). Para obter mais informações, consulte Otimização para o Amazon EBS.

Configurar a largura de banda da instância

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 com uso intenso de E/S. Para obter mais informações, consulte Ponderação configurável da largura de banda da instância.

Noções básicas de como a performance é calculada

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.

Noções básicas da workload

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 (performance, E/S e latência) afeta os outros, e aplicações diferentes são mais sensíveis em relação a um fator do que outros. Para obter mais informações, consulte Avaliar a performance de volumes do Amazon EBS.

Esteja ciente da penalidade de performance ao inicializar volumes de snapshots

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 os volumes após a criação.

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

Fatores que podem reduzir a performance do HDD

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.

Seu desempenho também pode ser afetado se seu aplicativo não estiver enviando o suficienteI/O requests. This can be monitored by looking at your volume’s queue length and I/O size. The queue length is the number of pending I/O requests from your application to your volume. For maximum consistency, HDD-backed volumes must maintain a queue length (rounded to the nearest whole number) of 4 or more when performing 1 MiB sequential I/O. Para obter mais informações sobre como garantir um desempenho consistente dos volumes, consulte I/O Características e monitoramento do Amazon EBS.

Aumentar a leitura antecipada para workloads com muitas operações de leitura e alta throughput em st1 e sc1 (somente instâncias do Linux)

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 per-block-device configuração que só deve ser aplicada aos volumes do seu 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 um volume grande e sequencialI/Os. If it consists mostly of small, random I/Os, this setting will actually degrade your performance. In general, if your workload consists mostly of small or random I/Os. Considere usar um volume SSD (gp2egp3) de uso geral em vez de um st1 volume ou. sc1

Use um kernel do Linux moderno (somente instâncias do Linux)

Use um kernel do Linux moderno com suporte para descritores indiretos. Qualquer kernel Linux 3.8 e superior tem esse suporte, assim como qualquer instância da geração atual EC2 . 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

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 paravirtual. 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 re:Invent sobre este tópico.

Usar o RAID 0 para maximizar a utilização de recursos de instância

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.

Monitore o desempenho do volume do Amazon EBS

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 e Estatísticas detalhadas de desempenho do Amazon EBS.