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

Resolução

Usar AMIs do HVM

Para melhorar seu desempenho, use Imagens de máquina da Amazon (AMIs) de máquinas virtuais de hardware (HVM). AMIs de HVM permitem usar classes de instância mais novas e recursos do Amazon EC2, como redes aperfeiçoadas. Para obter mais informações, consulte Tipos de virtualização de AM do Linux.

Ativar redes aperfeiçoadas

Se o seu tipo de instância oferecer suporte a redes aperfeiçoadas, você poderá usar esse recurso para melhorar o desempenho da CPU sem custos adicionais. Redes aperfeiçoadas usa virtualização de E/S de raiz única (SR-IOV) para fornecer maior desempenho de E/S e menor utilização de CPU do que as interfaces de rede virtualizadas tradicionais. Para ver instruções e os tipos de instâncias compatíveis, consulte Redes aperfeiçoadas no Linux e Redes aperfeiçoadas no Windows. Para ativar redes aperfeiçoadas, sua instância precisa usar uma AMI de HVM. Além disso, você deve iniciar a instância 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).

Usar volumes NVMe

Para armazenamento, use volumes de armazenamento de instâncias não voláteis de memória expressa (NVMe) para melhorar o desempenho. Dependendo da versão do kernel e do tipo de instância, o desempenho com volumes NVMe pode variar de acordo com a workload. Para mais informações, consulte Amazon EBS and NVMe e Volumes de armazenamento de instâncias SSD.

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

Usar 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 de workloads de computação de alto desempenho (HPC), consulte High performance computing lens.

Usar a versão mais recente do kernel e tipos de instância

É uma prática recomendada usar a versão do kernel e os tipos de instância mais recentes. Se você usa M3, C3 ou outros tipos de instância mais antigos, migre para um tipo de instância mais novo, como M7, para melhorar o desempenho. Além disso, use a versão mais recente do kernel disponível para o sistema operacional (SO). Para obter mais informações, consulte Tipos de instâncias do Amazon EC2.

Usar quadros jumbo

Quando possível, evite pacotes pequenos. Se sua workload oferecer suporte ao uso de pacotes maiores com quadros jumbo, use essa configuração. Para mais informações, consulte Unidade de transmissão máxima (MTU) de rede para a instância do EC2.

Usar o DPDK

Para mover a rede para fora do kernel e para o espaço do usuário, use o software Data Plane Development Kit (DPDK). O DPDK pode exigir uma atualização de software que inclui suporte para o DPDK. Para mais informações, consulte o site do DPDK.

Ativar o PCID

Se você ativou o isolamento da tabela de páginas do kernel (KPTI) no SO da sua instância, ative também o recurso identificador de contexto de processo (PCID). Para usar esse recurso, verifique se o kernel e o tipo de instância são compatíveis com o PCID.

Escalar suas instâncias

Aumente o tamanho das suas instâncias ou aumente o número de instâncias.

Usar cronômetros

O cronômetro contador de carimbo de data/hora (TSC) geralmente é o cronômetro com melhor desempenho disponível na maioria das instâncias. Se você usar um cronômetro xen, poderá ver um desempenho melhor ao alternar para um cronômetro TSC. Se você usa um SO mais antigo com um cronômetro jiffies, mude para um SO com suporte para xen ou, de preferência, TSC.

Observação: tipos de instância mais antigos, como M1 ou M2, fornecem um cronômetro TSC emulado. Para melhorar o desempenho do cronômetro, mude para um tipo de instância mais novo, como M7.

Informações relacionadas

Melhores práticas para o Amazon EC2

AWS OFICIAL
AWS OFICIALAtualizada há um ano