Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A ferramenta de benchmark usada nesses testes é chamada de Flexible I/O Tester (FIO).
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 de resultados possível.
Isto significa:
- um, para muitos clientes
- várias CPUs
- vários encadeamentos
- executando E/S em vários arquivos
- Conexões de rede multithread (como nconnect)
O objetivo final é levar o sistema de armazenamento o mais longe possível 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 leitura/gravação de/para um único arquivo (por exemplo, usando dd ou diskspd em um único cliente) não fornece resultados indicativos da capacidade dos Arquivos NetApp do Azure. Em vez disso, essas configurações mostram o desempenho de um único ficheiro, que geralmente acompanha a velocidade da ligação e/ou as definições de QoS do Azure NetApp File.
Além disso, o cache deve ser minimizado tanto quanto 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 tenham o melhor desempenho. Eles cobrem cenários com algum cache e com o cache ignorado para cargas de trabalho de E/S aleatórias usando a randomização da carga de trabalho por meio de opções FIO (especificamente, randrepeat=0
para evitar o cache no armazenamento e directio para impedir o cache do cliente).
Sobre o testador de E/S flexível
O testador de E/S flexível (FIO) é uma ferramenta de geração de carga de trabalho de código aberto comumente usada para benchmarking de armazenamento devido à sua facilidade de uso e flexibilidade na definição de padrões de carga de trabalho. Para obter informações sobre a sua utilização com o Azure NetApp Files, consulte Recomendações para testes de benchmark de desempenho para Azure NetApp Files.
Instalação do FIO
Siga a seção Pacotes binários no arquivo FIO README para instalar na plataforma de sua escolha.
Exemplos de FIO para IOPS
Os exemplos de FIO nesta seção usam a seguinte configuração:
- Tamanho da instância da VM: D32s_v3
- Nível de serviço e tamanho do pool de capacidade: Premium / 50 TiB
- Tamanho da quota de volume: 48 TiB
Os exemplos a seguir mostram as leituras e gravações aleatórias do FIO.
FIO: 8k tamanho do bloco 100% 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 de bloco de 8k, 100% escritas aleatórias
fio --name=8krandomwrites --rw=randwrite --direct=1 --ioengine=libaio --bs=8k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting
Resultados de referência
Para obter resultados de benchmark oficiais sobre o desempenho do FIO nos Arquivos NetApp do Azure, consulte Benchmarks de desempenho dos Arquivos NetApp do Azure para Linux.
Exemplos de FIO para largura de banda
Os exemplos nesta seção mostram as leituras e gravações sequenciais do FIO.
FIO: 64k de tamanho de bloco 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: gravações 100% sequenciais com tamanho de bloco de 64k
fio --name=64kseqwrites --rw=write --direct=1 --ioengine=libaio --bs=64k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting
Resultados de referência
Para obter resultados de benchmark oficiais sobre o desempenho do FIO nos Arquivos NetApp do Azure, consulte Benchmarks de desempenho dos Arquivos NetApp do Azure para Linux.
Armazenamento em cache com FIO
O FIO pode ser executado com opções específicas para controlar como um benchmark de desempenho lê e grava arquivos. Nos testes de benchmarks com cache excluído, o sinalizador randrepeat=0
FIO foi usado para evitar o cache executando uma verdadeira carga de trabalho aleatória 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. Assim, os caches do sistema de arquivos não são utilizados para melhorar o desempenho geral da carga de trabalho.
Em benchmarks anteriores para Ficheiros NetApp do Azure, randrepeat
não foi definido, portanto, alguma cache do sistema de ficheiros foi implementada. Em testes mais atualizados, essa opção é definida como "0" (false) para garantir que haja aleatoriedade adequada nos dados para evitar caches do sistema de arquivos no serviço Azure NetApp Files. Essa modificação resulta em números gerais um pouco menores, mas é uma representação mais precisa do que o serviço de armazenamento é capaz de fazer quando o cache é ignorado.