quarta-feira, maio 16

Testes de desempenho com LVM - 2% !!!!!

Para quem ainda não conhece, o Logical Volume Manager é um sistema para gerenciamento de armazenagem em disco, que vem se tornando padrão no linux. Ele consiste basicamente em uma camada a mais entre os discos e o Kernel, e passa a oferecer uma versão lógica dos discos. Com isso ganhamos muita flexibilidade no gerenciamento de "partições lógicas".

Entre os principais recursos, estão a facilidade de aumentar o sistema de arquivos, simplesmente adicionando mais discos físicos. O contrário também é possível, ou seja, reduzir o tamanho de um volume lógico. O recurso de snapshots é também muito útil, principalmente para backups e ambientes de testes, esse recurso ficou inda melhor na versão 2 da LVM, agora é possível criar snapshot read-write, na primeira versão apenas snapshots read-only estavam disponíveis.

Como diz o título, não tenho como objetivo fazer aqui um tutorial de como implantar ou instalar LVM, mas apenas mostrar alguns resultados de testes de desempenho realizados.

O Ambiente
Os testes foram realizados em um storage IBM DS4000, com 14 discos scsi 73gb 10k, conectado diretamente a um servidor IBM 440. O storage contém uma única lun, utilizando RAID 10 (1 + stripping). Não foi o objetivo dos testes comparar tipos de RAID, e essa configuracão foi utilizada devido ao equipamento já estar dessa forma, e os testes foram realizados num intervalo entre a migracão de um sistema, nao havendo tempo hábil para alteracões. Duas situacões de particionamento ocorreram no testes comparativos:

  • Volumes físicos: sdb1 (200GB), sdc1 (200GB)
  • LVM - Volumes lógicos: lva (200GB), lvb (200GB)
Todas as unidades foram formatadas com ext3 (opcões default), e o servidor foi reiniciado (inclusive o storage) entre cada um dos testes, garantindo assim que não haveria interferência de dados em cache.

Os Testes
Foram realizados testes de criacão e cópia de arquivos de diversos tamanhos, nas duas unidades. Basicamente, foi medido o tempo de:
  • Criacão e cópia de um arquivo de 2 Gb.
  • Criacão e cópia de 10 arquivos de 100 Mb
  • Criacão e cópia de 32 mil arquivos com tamanhos variando entre 1Kb e 32Kb (1000 arquivos de 1kb, 1000 arquivos de 2kb, 1000 arquivos de 3kb, sucessivamente)
Cada uma dessas tarefas foi realizada 10 vezes para ser utilizado o tempo médio como comparativo.

Os Resultados
Os números são impressionantes, pode-se afirmar com total certeza, que praticamente "nenhuma" queda de desempenho é notada utilizando LVM, contrariando o que muitos imaginam.
Em muitos casos, o tempo gasto para a realizacão das tarefas foi menor utilizando LVM. Principalmente nos casos de arquivos pequenos. Quando maior a quantidade de arquivos e quanto menor o seu tamanho, o desempenho do sistema de arquivos utilizando-se LVM chega a ser melhor do que utilizando dispositivos físicos diretamente.
Nos arquivos de 2Gb, uma pequena diferenca foi notada. Nos arquivos maiores, que apresentaram piores resultados, ainda assim o overhead fica inferior a 2%.