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á.
Vários fatores, como as características de E/S e a configuração das instâncias e volumes, podem afetar a performance dos volumes 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. Após você entender os conceitos básicos de utilização dos volumes do EBS, é uma boa ideia examinar a performance de E/S necessária e as opções para melhorar a performance do Amazon EBS a fim de 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.
Conteúdo
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 Características e monitoramento de E/S do Amazon EBS.
Noções básicas da workload
Há uma relação entre a performance máxima dos volumes do EBS, o tamanho e o número de operações de E/S 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 Inicializar volumes de Amazon EBS.
-
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 a performance incluem a orientação de uma throughput maior do que a instância pode oferecer suporte, a penalidade de performance encontrada ao inicializar volumes criados de um snapshot e as quantidades excessivas de pequenas operações de E/S aleatórias no volume. Para obter mais informações sobre como calcular a throughput para volumes de HDD, consulte Tipos de volume do Amazon EBS.
A performance também pode ser afetada se sua aplicação não estiver enviando solicitações de E/S suficientes. Isso pode ser monitorado verificando o comprimento da fila do volume e o tamanho da E/S. O comprimento da fila é o número de solicitações pendentes de E/S de sua aplicação para seu volume. Para obter máxima consistência, os volumes baseados em HDD devem manter um comprimento de fila (arredondado para o número inteiro mais próximo) de 4 ou mais ao executar E/S sequencial de 1 MiB. Para obter mais informações sobre como garantir a performance consistente de seus volumes, consulte Características e monitoramento de E/S 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 workload consistir em grandes E/S sequenciais. Se consistir principalmente em pequenas E/S aleatórias, essa configuração acabará reduzindo a performance. Em geral, se sua workload consiste principalmente em operações de E/S pequenas ou aleatórias, é necessário avaliar a possibilidade de usar um volume SSD de uso geral (gp2
e gp3
) em vez de um volume st1
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 o tamanho médio de E/S for igual ou próximo a 44 KiB, será possível usar uma instância ou um kernel sem suporte para descritores indiretos. Para obter informações sobre como derivar o tamanho médio de E/S das CloudWatch métricas da Amazon, consulte. Características e monitoramento de E/S 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 as características de E/S do EBS, consulte a apresentação re:Invent Amazon EBS: Como projetar visando a performance
Usar o RAID 0 para maximizar a utilização de recursos de instância
Alguns tipos de instância podem gerar throughput de E/S maior do que o que é possível 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 ter mais informações, consulte CloudWatch Métricas da Amazon para Amazon EBS e Estatísticas detalhadas de desempenho do Amazon EBS.