Otimizar 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 otimizar 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 de rede

Para otimizar o desempenho de rede para VMs Linux do Azure, você pode usar otimizações de rede baseadas em kernel e implementar a rede acelerada, se estiver disponível.

Otimizações de rede baseadas em kernel

Os kernels do Linux lançados após setembro de 2017 incluem opções de otimização de rede, possibilitando que as VMs Linux do Azure obtenham maior taxa de transferência de rede. Você pode obter um desempenho significativo na taxa de transferência usando a versão mais recente do kernel do Linux.

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

Redes aceleradas

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

Sem rede acelerada, todo o tráfego de rede que entra e sai da VM deve cruzar o host e o comutador virtual. Com a rede acelerada, o tráfego de rede que chega ao adaptador de rede de rede da VM é encaminhado diretamente para a VM, ignorando o host.

A rede acelerada aplica-se somente à VM na qual está habilitada. Para obter os melhores resultados, habilite esse recurso nas VMs do Azure que estão conectadas à mesma rede virtual. Esse recurso tem um impacto mínimo na latência geral ao comunicar-se em redes virtuais ou em cenários híbridos.

O Azure oferece suporte à rede acelerada para a maioria dos tamanhos de instância de uso geral e com otimização para computação com duas ou mais vCPUs. As instâncias de VM que usam o hyperthreading (ou hiperprocessamento) dão 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 Master Boot Record (MBR) ou 4 TiB para discos no formato GUID Partition Table (GPT). A imagem usada 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 são relacionadas ao sistema operacional.

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

    • O disco temporário serve como armazenamento de curto prazo para dados que podem ser descartados ou recriados facilmente. 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 o cloud-init em imagens que dão suporte a ele. Use o Agente Linux da VM do Azure para imagens que não dão suporte ao cloud-init.

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 dentro do sistema operacional. Você pode adicionar mais discos conforme necessário, de acordo com seus requisitos de armazenamento e operações de entrada/saída por segundo (IOPS). Lembre-se das seguintes considerações ao filtrar dados:

  • O número máximo de discos que você pode anexar a uma VM do Azure depende da tamanho da VM.
  • O número máximo de IOPS que uma VM do Azure oferece suporte 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, determinada pelo tamanho da VM. A taxa de transferência efetiva é a 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 seguintes cinco tipos de disco para atender a cenários específicos do cliente:

  • Os Discos Ultra são recomendados para cargas de trabalho com uso intensivo de E/S, como SAP HANA, bancos de dados de nível superior, como SQL e Oracle, e outras cargas de trabalho com transações pesadas.
  • Os SSDs (unidades de estado sólido) Premium v2 são recomendados para cargas de trabalho de produção e sensíveis ao desempenho, que exigem consistentemente baixa latência, altas IOPS e alta taxa de transferência.
  • Os SSDs Premium são recomendados para cargas de trabalho confidenciais de produção e desempenho.
  • Os SDDs Standard são recomendados para servidores da Web, aplicativos corporativos pouco usados e cenários de desenvolvimento ou teste.
  • Os HDDs (unidades de disco rígido) Standard são recomendados para backups e dados não críticos com acesso pouco frequente.

Barreiras de gravação para SSDs Premium

Para alcançar a maior taxa de IOPS em discos SSD Premium com caches definidos como ReadOnly ou None, desabilite as barreiras de gravação ao montar o sistema de arquivos no Linux. Você não precisa de barreiras, pois as gravações em discos com backup no Armazenamento Premium são duráveis para essas configurações de cache. Se o cache estiver definido como Read/Write, mantenha as barreiras habilitadas para garantir a durabilidade da gravação.

  • Se você usar o sistema de arquivos reiserFS, desabilite as barreiras usando a opção de montagem barrier=none.
  • Se você usar ext3/ext4, desabilite as barreiras usando a opção de montagem barrier=0.
  • Se você usar XFS, desabilite as barreiras usando a opção de montagem nobarrier.

Algoritmo de agendamento de E/S para SSDs Premium

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

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

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 (Matriz Redundante de Discos Independentes) de software que combine vários discos. O Azure oferece resiliência de disco na camada de malha de armazenamento, permitindo que você se concentre no desempenho ao implementar uma faixa RAID-0.

Como alternativa, você pode instalar o LVM (Gerenciador de Volume Lógico) e usá-lo para combinar vários discos virtuais em um volume de armazenamento lógico distribuído único. Nessa configuração, as 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, talvez você queira distribuir seus volumes lógicos para que as leituras e gravações usem todos os seus discos de dados anexados.