Usando o comando 'dd' para testar o desempenho em diferentes partições

1

Estou tentando configurar um aplicativo da Web no Portal de Visualização do Azure. Eu criei uma máquina Linux Centos 6.2 da galeria do VM do Azure e anexei alguns discos a ela.

df -h me dá isso:

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       28G  4.2G   22G  16% /
tmpfs                 1.7G     0  1.7G   0% /dev/shm
/dev/sda1             485M   94M  366M  21% /boot
/dev/sdb1             133G  188M  126G   1% /mnt/resource
/dev/sdc1              40G  176M   38G   1% /mnt/datadrive

sdb1 e sdc1 são unidades de armazenamento. sdb1 é o padrão criado quando você cria a máquina e sdc1 foi anexado por mim como outra unidade de 40 GB.

Eu quero testar o desempenho de cada unidade e compará-la com a unidade de inicialização (que provavelmente é sda1 ).

Eu tentei usar dd para isso:

dd if=/dev/sda1 of=/tmp/zero bs=1k count=100k // test for sda1
dd if=/dev/sdb1 of=/tmp/zero bs=1k count=100k // test for sdb1
dd if=/dev/sdc1 of=/tmp/zero bs=1k count=100k // test for sdc1

Mas não tenho certeza se ele realmente faz o teste em diferentes partições em cada execução. Esta é uma maneira correta de testar a leitura / gravação de diferentes partições? obrigado.

    
por Alon Adler 06.08.2012 / 15:13

3 respostas

0

Enquanto o dd pode ser uma ferramenta útil, também é importante lembrar a possibilidade de você estar testando um arquivo que já foi armazenado em cache. Nos ambientes NFS, chegamos ao ponto de desmontar e remontar partições entre as iterações de teste para nos certificarmos de que estávamos atingindo definitivamente o servidor, em vez de confiar em algo local.

    
por 06.08.2012 / 16:10
1

É melhor usar algumas ferramentas mais específicas para testar velocidades de disco, como bonnie ++ ou iometer . Eles lhe darão informações mais detalhadas que um dd puro.

    
por 06.08.2012 / 17:15
0

O DD pode fornecer alguns insights dessa maneira, mas o método que você está usando pode ser aprimorado.

Você precisa ter certeza de que a origem ou o destino não tem uma unidade física que a respalde, caso contrário, você provavelmente obterá características de desempenho que incluam os dois elementos.

Minha sugestão seria usar os seguintes comandos para testar o desempenho.

Com o disco de destino montado em / mnt / sdb1

dd if=/dev/zero of=/mnt/sdb1/image_file bs=1k count=...

Com o disco de origem desmontado.

dd if=/dev/sdb1/image_file of=/dev/null bs=1k count=...

Isso deve criar um arquivo grande consistindo apenas no caractere nulo. Isso é bastante seguro para executar em qualquer disco, incluindo sua raiz, se você tiver o espaço.

    
por 06.08.2012 / 16:03