Capítulo 4. Testando o desempenho do VDO
Você pode realizar uma série de testes para medir o desempenho do VDO, obter um perfil de desempenho de seu sistema com o VDO e determinar quais aplicações têm bom desempenho com o VDO.
Pré-requisitos
- Um ou mais dispositivos de bloco físico Linux estão disponíveis.
-
O dispositivo de bloco alvo (por exemplo,
/dev/sdb
) é maior do que 512 GiB. -
O Testador de E/S flexível (
fio
) está instalado. - O VDO está instalado.
4.1. Preparando um ambiente para testes de desempenho VDO
Antes de testar o desempenho do VDO, você deve considerar a configuração do sistema host, a configuração do VDO e as cargas de trabalho que serão utilizadas durante os testes. Estas escolhas afetam o benchmarking de eficiência de espaço, largura de banda e latência.
Para evitar que um teste afete os resultados de outro, você deve criar um novo volume VDO para cada iteração de cada teste.
4.1.1. Considerações antes de testar o desempenho do VDO
As seguintes condições e configurações afetam os resultados dos testes VDO:
Configuração do sistema
-
Número e tipo de núcleos de CPU disponíveis. Você pode listar estas informações usando o utilitário
taskset
. - Memória disponível e memória total instalada
- Configuração de dispositivos de armazenamento
- Agendador ativo de disco
- Versão do kernel do Linux
- Pacotes instalados
Configuração VDO
- Esquema de partição
- Sistemas de arquivo utilizados nos volumes VDO
- Tamanho do armazenamento físico atribuído a um volume VDO
- Tamanho do volume VDO lógico criado
- Indexação UDS esparsa ou densa
- Índice UDS em tamanho de memória
- Configuração de rosca VDO
Cargas de trabalho
- Tipos de ferramentas usadas para gerar dados de teste
- Número de clientes simultâneos
- A quantidade de 4 blocos KiB duplicados nos dados escritos
- Padrões de leitura e escrita
- O tamanho do conjunto de trabalho
4.1.2. Considerações especiais para testar o desempenho de leitura VDO
Você deve considerar estes fatores adicionais antes de testar o desempenho de leitura VDO:
- Se um bloco de 4 KiB nunca foi escrito, a VDO não lê do armazenamento e responde imediatamente com um bloco zero.
- Se um bloco de 4 KiB foi escrito mas contém todos os zeros, a VDO não lê a partir do armazenamento e responde imediatamente com um bloco zero.
Este comportamento resulta em um desempenho de leitura muito rápido quando não há dados para ler. É por isso que os testes de leitura devem preencher previamente o volume com dados reais.
4.1.3. Preparando o sistema para testar o desempenho do VDO
Este procedimento configura as configurações do sistema para alcançar o desempenho ideal do VDO durante os testes.
Testes além dos limites listados em qualquer teste em particular podem resultar na perda do tempo de teste devido a resultados anormais.
Por exemplo, os testes VDO descrevem um teste que realiza leituras aleatórias em uma faixa de 100 endereços GiB. Para testar um conjunto funcional de 500 GiB, é necessário aumentar a quantidade de RAM alocada para o cache do mapa de blocos da VDO de acordo.
Procedimento
- Certifique-se de que sua CPU esteja funcionando com o melhor desempenho possível.
-
Se possível, desabilitar a escala de freqüência da CPU usando a configuração da BIOS ou o utilitário Linux
cpupower
. - Se possível, ativar o ajuste dinâmico da freqüência do processador (Turbo Boost ou Turbo Core) para a CPU. Esta característica introduz alguma variabilidade nos resultados dos testes, mas melhora o desempenho geral.
Os sistemas de arquivo podem ter impactos únicos no desempenho. Muitas vezes distorcem as medidas de desempenho, tornando mais difícil isolar o impacto da VDO sobre os resultados.
Se razoável, meça o desempenho no dispositivo de bloco em bruto. Se isto não for possível, formate o dispositivo usando o sistema de arquivo que a VDO usará na implementação do alvo.