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.

Importante

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

  1. Certifique-se de que sua CPU esteja funcionando com o melhor desempenho possível.
  2. Se possível, desabilitar a escala de freqüência da CPU usando a configuração da BIOS ou o utilitário Linux cpupower.
  3. 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.
  4. 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.