Otimize o desempenho e a funcionalidade

Concluído

Depois de incorporar as melhores práticas de dimensionamento, rede e gerenciamento em seu plano de implantação de VM Linux do Azure, considere o desempenho e a funcionalidade. Esta unidade explica como otimizar recursos de rede e armazenamento para implantações de VM Linux do Azure.

Otimizar o desempenho da rede

Para otimizar o desempenho da rede para VMs Linux do Azure, você pode usar otimizações de rede baseadas em kernel e implementar redes aceleradas, se disponíveis.

Otimizações de rede baseadas em kernel

Os kernels Linux lançados após setembro de 2017 incluem opções de otimização de rede que permitem que as VMs Linux do Azure alcancem uma taxa de transferência de rede mais alta. Você pode obter um desempenho de taxa de transferência significativo usando o kernel Linux mais recente.

As VMs do Azure novas e existentes também podem se beneficiar da instalação do Linux Integration Services (LIS) mais recente. A otimização da taxa de transferência faz parte do LIS a partir da versão 4.2, e as versões subsequentes contêm mais melhorias.

Rede acelerada

Você pode implementar rede acelerada para minimizar a latência, maximizar a taxa de transferência e diminuir a utilização da CPU. A rede acelerada usa os recursos de virtualização de E/S de raiz única (SR-IOV) do hardware host para melhorar o desempenho da rede.

Sem rede acelerada, todo o tráfego de rede dentro e fora da VM deve atravessar o host e o comutador virtual. Com a rede acelerada, o tráfego de rede que chega à interface de rede da VM encaminha diretamente para a VM, ignorando o host.

A rede acelerada aplica-se apenas à VM em que está ativada. Para obter melhores resultados, habilite esse recurso em VMs do Azure conectadas à mesma rede virtual. Para comunicação entre redes virtuais ou em cenários híbridos, esse recurso tem impacto mínimo na latência geral.

O Azure dá suporte à rede acelerada para a maioria dos tamanhos de instância de uso geral e otimizados para computação que têm duas ou mais vCPUs. As instâncias de VM que usam hyperthreading oferecem suporte à rede acelerada em instâncias que têm quatro ou mais vCPUs.

Otimizar o desempenho de armazenamento

Cada VM Linux do Azure tem pelo menos os dois discos virtuais a seguir:

  • O disco do sistema operacional, rotulado como /dev/sda, tem uma capacidade máxima de 2 tebibytes (TiB) para discos no formato MBR (Master Boot Record) ou 4 TiB para discos no formato GPT (GUID Partition Table). A imagem que você usa para provisionar a VM do Azure determina o tamanho padrão.

    Evite armazenar dados e instalar aplicativos no disco do sistema operacional, pois ele é otimizado para inicialização rápida em vez de executar cargas de trabalho que não sejam do sistema operacional.

  • Um disco temporário rotulado como /dev/sdb e montado para /mnt fornecer armazenamento temporário. O tamanho e o desempenho do disco dependem do tamanho da VM e sua finalidade principal é armazenar um arquivo de permuta.

    • O disco temporário serve como armazenamento de curto prazo para dados que podem ser descartados ou facilmente recriados. Não use o disco temporário para armazenar arquivos que devem persistir em operações como redimensionamento, reimplantação ou reinicialização.

    • Para implementar a configuração ideal para um arquivo de permuta, use cloud-init para imagens que o suportem. Use o Agente Linux da VM do Azure para imagens que não oferecem suporte à inicialização na nuvem.

Discos de dados virtuais

Para armazenar dados e instalar aplicativos, você pode criar discos virtuais, anexá-los a uma VM do Azure e montá-los no sistema operacional. Você pode adicionar mais discos conforme necessário de acordo com seus requisitos de armazenamento e entrada/saída por segundo (IOPS). Não se esqueça das seguintes considerações:

  • O número máximo de discos que você pode anexar a uma VM do Azure depende do tamanho da VM.
  • O número máximo de IOPS que uma VM do Azure suporta depende não apenas da taxa de transferência agregada de seus discos, mas também da taxa de transferência máxima de IOPS da VM, que o tamanho da VM determina. A taxa de transferência efetiva é o menor dos dois valores.

Para fornecer armazenamento para uma VM do Azure, você pode usar volumes de armazenamento em nível de bloco gerenciados pelo Azure. Os discos gerenciados pelo Azure oferecem suporte aos cinco tipos de disco a seguir para lidar com cenários específicos de clientes:

  • Ultra Disks para cargas de trabalho intensivas de E/S, como SAP HANA, bancos de dados de nível superior, como SQL e Oracle, e outras cargas de trabalho com muitas transações.
  • Unidades de estado sólido (SSDs) premium v2 para cargas de trabalho sensíveis à produção e ao desempenho que exigem consistentemente baixa latência, IOPS alta e alta taxa de transferência.
  • SSDs premium para cargas de trabalho de produção e sensíveis ao desempenho.
  • SSDs padrão para servidores Web, aplicações empresariais pouco utilizadas e cenários de desenvolvimento ou teste.
  • Unidades de disco rígido (HDD) padrão para backups e dados não críticos com acesso pouco frequente.

Barreiras de escrita para SSDs Premium

Para alcançar as IOPS mais altas em discos SSD Premium que têm seus caches definidos como ReadOnly ou None, desative as barreiras de gravação durante a montagem do sistema de arquivos no Linux. Você não precisa de barreiras, porque as gravações em discos com backup de Armazenamento Premium são duráveis para essas configurações de cache. Se o cache estiver definido como Read/Write, mantenha as barreiras ativadas para garantir a durabilidade da gravação.

  • Se você usa o sistema de arquivos reiserFS, desative as barreiras usando a opção barrier=nonemount .
  • Se você usa ext3/ext4, desative as barreiras usando a opção barrier=0mount .
  • Se você usa XFS, desative as barreiras usando a opção nobarriermount .

Algoritmo de agendamento de E/S para SSDs Premium

O kernel Linux oferece dois conjuntos de agendadores de E/S de disco para reordenar solicitações, um para o subsistema mais antigo blk e outro para o subsistema mais recente blk-mq . Para discos de armazenamento Premium do Azure, use um agendador que passe as decisões de agendamento para a plataforma de virtualização subjacente.

  • Para kernels Linux que usam o blk subsistema, escolha o noop agendador.
  • Para kernels Linux que usam o blk-mq subsistema, escolha o none agendador.

Configurações de vários discos

Se suas cargas de trabalho exigirem mais IOPS do que um único disco pode fornecer, use uma configuração RAID (Redundant Array of Independent Disks) de software que combine vários discos. O Azure oferece resiliência de disco na camada de malha de armazenamento, para que você possa se concentrar no desempenho implementando uma faixa RAID-0.

Como alternativa, você pode instalar o LVM (Logical Volume Manager) e usá-lo para combinar vários discos virtuais em um único volume de armazenamento lógico distribuído. Nessa configuração, leituras e gravações são distribuídas para vários discos contidos no grupo de volumes, semelhante ao RAID-0. Por motivos de desempenho, convém distribuir os volumes lógicos para que as leituras e gravações usem todos os discos de dados anexados.