Compartilhar via


Entender a metodologia de teste de desempenho no Azure NetApp Files

A ferramenta de parâmetro de comparação usada nesses testes é chamada FIO (Testador de E/S Flexível).

Ao testar as bordas dos limites de desempenho para armazenamento, a geração de carga de trabalho deve ser altamente paralelizada para alcançar o máximo possível de resultados.

Isso significa que:

  • um, para muitos clientes
  • várias CPUs
  • múltiplos threads
  • executando E/S em vários arquivos
  • conexões de rede multi-threaded (como nconnect)

A meta final é enviar por push o sistema de armazenamento até onde ele pode ir antes que as operações comecem a aguardar a conclusão de outras operações. O uso de um único cliente atravessando um único fluxo de rede ou lendo/gravando de/para um único arquivo (por exemplo, usando dd ou diskspd em um único cliente) não fornece resultados indicativos da funcionalidade do Azure NetApp Files. Em vez disso, essas configurações mostram o desempenho de um único arquivo, que geralmente é tendência com a velocidade da linha e/ou o Arquivo do Azure NetApp configurações de QoS.

Além disso, o cache deve ser minimizado o máximo possível para obter resultados precisos e representativos do que o armazenamento pode realizar. No entanto, o cache é uma ferramenta muito real para que os aplicativos modernos sejam executados no seu melhor. Estes abordam cenários com algum cache e com o cache ignorado para cargas de trabalho aleatórias de E/S usando a randomização da carga de trabalho por meio de opções FIO (especificamente, randrepeat=0 para impedir o cache no armazenamento e directio para impedir o cache do cliente).

Sobre o testador de E/S Flexível

O FIO (testador de E/S flexível) é uma ferramenta de geração de carga de trabalho de software livre comumente usada para o benchmarking de armazenamento devido à facilidade de uso e flexibilidade na definição de padrões de carga de trabalho. Para obter informações sobre seu uso com o Azure NetApp Files, consulte Recomendações de teste de benchmark de desempenho para o Azure NetApp Files.

Instalação do FIO

Siga a seção "Pacotes binários" no arquivo LEIAME do FIO para instalar a plataforma de sua escolha.

Exemplos do FIO para IOPS

Os exemplos do FIO nesta seção usam a seguinte configuração:

  • Tamanho da instância de VM: D32s_v3
  • Tamanho e nível de serviço do pool de capacidade: Premium/50 TiB
  • Tamanho da cota do volume: 48 TiB

Os exemplos a seguir mostram as leituras e gravações aleatórias do FIO.

FIO: tamanho do bloco de 8 mil 100% de leituras aleatórias

fio --name=8krandomreads --rw=randread --direct=1 --ioengine=libaio --bs=8k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

FIO: tamanho do bloco de 8 mil 100% de gravações aleatórias

fio --name=8krandomwrites --rw=randwrite --direct=1 --ioengine=libaio --bs=8k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

Resultados do parâmetro de comparação

Para obter resultados oficiais de parâmetro de comparação sobre o desempenho do FIO no Azure NetApp Files, confira os Parâmetros de comparação de desempenho do Azure NetApp Files para Linux.

Exemplos do FIO de largura de banda

Os exemplos nesta seção mostram as leituras e gravações sequenciais do FIO.

FIO: tamanho do bloco de 64 mil 100% de leituras sequenciais

fio --name=64kseqreads --rw=read --direct=1 --ioengine=libaio --bs=64k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

FIO: tamanho do bloco de 64 mil 100% de gravações sequenciais

fio --name=64kseqwrites --rw=write --direct=1 --ioengine=libaio --bs=64k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

Resultados do parâmetro de comparação

Para obter resultados oficiais de parâmetro de comparação sobre o desempenho do FIO no Azure NetApp Files, confira os Parâmetros de comparação de desempenho do Azure NetApp Files para Linux.

Cache com FIO

A FIO pode ser executada com opções específicas para controlar como um parâmetro de comparação de desempenho lê e grava arquivos. Nos testes de parâmetros de comparação com o cache excluído, o sinalizador FIO randrepeat=0 foi usado para evitar o cache executando uma carga de trabalho aleatória verdadeira em vez de um padrão repetido.

[randrepeat]https://fio.readthedocs.io/en/latest/fio_doc.html#i-o-type)

Por padrão, quando randrepeat não é definido, a ferramenta FIO define o valor como "true", o que significa que os dados produzidos nos arquivos não são verdadeiramente aleatórios. Portanto, os caches do sistema de arquivos não são utilizados para melhorar o desempenho geral da carga de trabalho.

Em parâmetros de comparação anteriores para o Azure NetApp Files, randrepeat não foi definido, portanto, um cache de sistema de arquivos foi implementado. Em testes mais atualizados, essa opção é definida como "0" (false) para garantir que haja aleatoriedade adequada nos dados para evitar caches de sistema de arquivos no serviço Azure NetApp Files. Essa modificação resulta em números gerais ligeiramente menores, mas é uma representação mais precisa do que o serviço de armazenamento é capaz quando o cache é ignorado.

Próximas etapas