Como posso melhorar o desempenho da CPU das minhas instâncias Linux do Amazon EC2?

4 minuto de leitura
0

Quero melhorar o desempenho das minhas instâncias Linux do Amazon Elastic Compute Cloud (Amazon EC2). Quais são algumas maneiras de eu fazer isso?

Resolução

Para melhorar o desempenho de suas instâncias do Linux do Amazon EC2, tente as seguintes recomendações:

Imagens de máquina da Amazon (AMIs) da máquina virtual de hardware (HVM)

Recomendamos o uso de AMIs da HVM para melhorar o desempenho. As AMIs da HVM também oferecem classes de instâncias mais novas (por exemplo, M5, M4 e R4) e recursos do Amazon EC2, como redes aprimoradas. Para mais informações, consulte Linux AMI virtualization types (Tipos de virtualização de AMI do Linux).

Rede aprimorada

Para melhorar o desempenho, você pode usar redes aprimoradas em tipos de instâncias compatíveis sem custo adicional. A rede aprimorada usa virtualização de E/S de raiz única (SR-IOV), que é um método de virtualização de dispositivos que fornece maior desempenho de E/S e menor utilização da CPU quando comparado às interfaces de rede virtualizadas tradicionais. Para ver instruções e os tipos de instâncias compatíveis, consulte Rede aprimorada no Linux e Rede aprimorada no Windows.

Para permitir uma rede aprimorada, as instâncias devem usar uma AMI da HVM e serem executadas em uma Amazon Virtual Private Cloud (Amazon VPC).

Observação: a prática recomendada é usar a versão atualizada do Adaptador de Rede Elástica (ENA) ou do driver de interface Intel 82599 Virtual Function (VF).

Volumes de memória expressa não volátil (NVMe)

Para armazenamento, usar volumes de armazenamento de instâncias de NVMe pode ajudar no desempenho. Dependendo da versão do kernel e do tipo de instância, o maior desempenho com os volumes de NVMe pode variar com a workload. Para mais informações, consulte Amazon EBS e volumes de NVMe e de armazenamento de instâncias SSD.

Observação: para usar o programador de E/S Kyber para determinadas workloads, confirme se sua instância do Linux do Amazon EC2 está executando o kernel 4.12 ou mais recente.

HugePages

O HugePages pode melhorar o desempenho de workloads que lidam com grandes quantidades de acesso à memória. Para obter mais informações, consulte a documentação do HugePages no site kernel.org. Para ver as melhores práticas relacionadas a workloads de computação de alto desempenho (HPC), consulte Lente de computação de alto desempenho.

Versão mais recente do kernel e tipos de instância

Usar a versão mais recente do kernel e os tipos de instância é altamente recomendado para ter desempenho. Se você estiver usando M3, C3 ou outros tipos de instância mais antigos, considere migrar para M4 ou tipos de instância semelhantes, além de usar a versão mais recente do kernel disponível para o sistema operacional. Para mais informações, consulte Tipos de instância do Amazon EC2.

Quadros Jumbo

Evite pacotes pequenos sempre que possível. Se sua workload suportar isso, use pacotes maiores com quadros jumbo. Para mais informações, consulte Unidade máxima de transmissão de rede (MTU) para sua instância do EC2.

Kit de desenvolvimento do plano de dados (DPDK)

Você pode ver benefícios de desempenho ao usar versões de software baseadas no DPDK para mover a rede para fora do kernel e para o espaço do usuário. O uso do DPDK pode demandar uma atualização de software que inclua suporte ao DPDK. Para mais informações, consulte o site do DPDK.

Process Context Identifier (PCID)

Se o Kernel Page-Table Isolation (KPTI) estiver ativado no sistema operacional da sua instância, a ativação do PCID também poderá melhorar o desempenho da CPU. Você deve verificar se o kernel e o tipo de instância contam com suporte para o PCID.

Escalabilidade de instâncias

Para melhorar o desempenho, considere aumentar o tamanho de suas instâncias ou aumentar o número de instâncias.

Temporizadores

O temporizador tsc geralmente é o temporizador de melhor desempenho disponível para a maioria das instâncias. Se você estiver usando um temporizador xen, poderá ver um desempenho aprimorado migrando para o temporizador tsc. Se você estiver usando um sistema operacional antigo que usa o temporizador jiffies, considere migrar para um sistema operacional que ofereça suporte preferencialmente ao tsc ou, no mínimo, ao xen.

Observação: os tipos de instância mais antigos, como M1 ou M2, fornecem um temporizador tsc emulado. Considere migrar para um tipo de instância mais novo para melhorar o desempenho do temporizador tsc.


Informações relacionadas

Melhores práticas para o Amazon EC2

AWS OFICIAL
AWS OFICIALAtualizada há 5 anos