Compartilhar via


Parâmetros comparação de desempenho de grandes volumes do Azure NetApp Files para Linux

Este artigo descreve os recursos de desempenho testados de um volume grande do Azure NetApp Files único, pois ele se refere a casos de uso do Linux. Os testes exploraram cenários para cargas de trabalho de gravação e leitura de escala horizontal e redução vertical, envolvendo uma e muitas VMs (máquinas virtuais). Conhecer o envelope de desempenho de grandes volumes ajuda a facilitar o dimensionamento de volume.

Resumo do teste

  • O recurso de grandes volumes do Azure NetApp Files oferece três níveis de serviço, cada um com limites de taxa de transferência. Os níveis de serviço podem ser escalados ou reduzidos verticalmente sem interrupções à medida que o desempenho precisa ser alterado.

    • Nível de serviço Ultra: 12.800 MiB/s
    • Nível de serviço Premium: 6.400 MiB/s
    • Nível de serviço Standard: 1.600 MiB/s

    O nível de serviço Ultra foi usado nesses testes.

  • Gravações sequenciais: 100% de gravações sequenciais máximas em ~8.500 MiB/segundo nesses parâmetros de comparação. (A taxa de transferência máxima de um único volume grande é limitada a 12.800 MiB/segundo pelo serviço, de modo que mais taxa de transferência potencial seja possível.)

  • Leituras sequenciais: leituras sequenciais de 100% máximas em ~12.761 MiB/segundo nestes parâmetros de comparação. (A taxa de transferência de um único grande volume é limitada a 12.800 MiB/segundo. Este resultado está próximo da taxa de transferência máxima alcançável neste momento.)

  • E/S aleatória: o mesmo volume grande único entrega mais de 700.000 operações por segundo.

  • Cargas de trabalho pesadas de metadados são vantajosas para grandes volumes do Azure NetApp File devido ao maior paralelismo do volume grande. Os benefícios de desempenho são visíveis em cargas de trabalho pesadas na criação, desvinculação e renomeação de arquivo como típicos com aplicativos VCS e cargas de trabalho EDA em que há altas quantidades de arquivos presentes. Para obter mais informações sobre o desempenho de altas cargas de trabalho de metadados, consulte Benefícios do uso do Azure NetApp Files para automação de design eletrônico.

  • FIO, um gerador de carga de trabalho sintético projetado como um teste de estresse de armazenamento, foi usado para conduzir esses resultados de teste. Há fundamentalmente dois modelos de teste de desempenho de armazenamento:

    • Computação de escala horizontal, que se refere ao uso de várias VMs para gerar a carga máxima possível em um único volume do Azure NetApp Files.
    • Computação de escala vertical, que se refere ao uso de uma VM grande para testar os limites máximos de um único cliente em um único volume do Azure NetApp Files.

Teste de escala horizontal do Linux

Os testes observaram os limites de desempenho de um único volume grande em escala horizontal foram realizados com a seguinte configuração:

Componente Configuração
Tamanho da VM do Azure E32s_v5
Limite de largura de banda de saída da VM do Azure 2.000 MiB/s (2 GiB/s)
Sistema operacional RHEL 8.4
Tamanho de volume grande 101 TiB Ultra (taxa de transferência de 12.800 MiB/s)
Opções de montagem hard,rsize=65536,wsize=65536,vers=3
Observação: o uso de ambos 262144 e 65536 teve resultados de desempenho semelhantes.

Cargas de trabalho sequenciais de 256 KiB (MiB/s)

O grafo representa uma carga de trabalho sequencial de 256 KiB usando 12 máquinas virtuais lendo e gravando em um único volume grande usando um conjunto de trabalho de 1 TiB. O grafo mostra que um único volume grande do Azure NetApp Files pode lidar entre aproximadamente 8.518 miB/s de gravações sequenciais puras e 12.761 MiB/s leituras sequenciais puras.

Gráfico de barras de uma carga de trabalho sequencial de 256 KiB em um grande volume.

Carga de trabalho aleatória de 8 KiB (IOPS)

O gráfico representa uma carga de trabalho aleatória de 8 KiB e um conjunto de trabalho de 1 TiB. O gráfico mostra que um grande volume do Azure NetApp Files pode manipular aproximadamente 474.000 gravações aleatórias puras e 709.000 leituras aleatórias puras.

Gráfico de barras de uma carga de trabalho aleatória em um grande volume.

Testes de escalonamento vertical do Linux

Enquanto os testes de escala horizontal são projetados para descobrir os limites de um único volume grande, os testes de escala vertical são projetados para encontrar os limites máximos de uma única instância em relação ao volume grande. O Azure coloca limites de saída de rede em suas VMs; para o armazenamento anexado à rede, isso significa que a largura de banda de gravação é limitada por VM. Esses testes de escala vertical demonstram funcionalidades dada ao grande limite de largura de banda disponível e com processadores suficientes para conduzir essa carga de trabalho.

Os testes nesta seção foram executados com a seguinte configuração:

Componente Configuração
Tamanho da VM do Azure E104id_v5
Limite de largura de banda de saída da VM do Azure 12.500 MiB/s (12,2 GiB/s)
Sistema operacional RHEL 8.4
Tamanho de volume grande 101 TiB Ultra (taxa de transferência de 12.800 MiB/s)
Opções de montagem hard,rsize=65536,wsize=65536,vers=3
Observação: o uso de ambos 262144 e 65536 teve resultados de desempenho semelhantes

Os gráficos nesta seção mostram os resultados para a opção de montagem de nconnect do lado do cliente com NFSv3. Para obter mais informações, consulte as Melhores práticas de opções de montagem do NFS do Linux para o Azure NetApp Files.

Os gráficos a seguir comparam as vantagens de nconnect com um volume montado em NFS sem nconnect. Nos testes, o FIO gerou a carga de trabalho de uma única instância E104id-v5 na região do Azure do Leste dos EUA usando uma carga de trabalho sequencial de 64 KiB; um tamanho de E/0 de 256 foi usado, que é o maior tamanho de E/S recomendado pelo Azure NetApp Files, resultou em números de desempenho comparáveis. Para obter mais informações, consulte rsize e wsize.

Taxa de transferência de leituras no Linux

Os gráficos a seguir mostram leituras sequenciais de 256 KiB de aproximadamente 10.000 MiB/s com nconnect, que é em torno de dez vezes a taxa de transferência obtida sem nconnect.

Observe que 10.000 MiB/s é aproximadamente a taxa de linha da placa de adaptador de rede de 100 Gbps anexada ao E104id_v5.

Comparação de gráfico de barras da taxa de transferência de leitura com e sem nconnect.

Taxa de transferência de gravação do Linux

Os gráficos a seguir mostram gravações sequenciais. O uso de nconnect oferece benefícios observáveis para gravações sequenciais em 6.600 MiB/s, aproximadamente quatro vezes o de montagens sem nconnect.

Comparação de gráfico de barras da taxa de transferência de gravação com e sem nconnect.

IOPS de leitura do Linux

Os gráficos a seguir mostram leituras aleatórias de 8 KiB chegando a gravações de aproximadamente 426.000 IOPS com nconnect, o que representa aproximadamente três vezes mais do que observado sem nconnect.

Gráficos comparando IOPS de leitura com e sem IOPS.

IOPS de gravação do Linux

Os gráficos a seguir mostram gravações aleatórias de 8 KiB chegando a gravações de aproximadamente 405.000 IOPS com nconnect, o que representa aproximadamente 7,2 vezes o que é observado sem nconnect.

Gráficos comparando IOPS de gravação com e sem IOPS.

Próximas etapas