quinta-feira, 1 de setembro de 2011

HDPARM (Debian e Mandriva)

Os hd's de hoje possuem diversas tecnologias que podem ser ativadas via software para melhorar o desempenho do disco. Algumas distribuições em linux sequer ativam o DMA dos discos.
E para solucionar esse problema podemos utilizar o hdparm, esse software vem por padrão na maioria das distribuições, sua instalação é simples.
O hdparm pode ser utilizado tanto para manipular tecnologias que aprimoram o I/O dos hd's quanto para coletar informações detalhadas do dispotivo e também para analisar o I/O do disco.
A sintaxe para utilização desde comando é simples:

          # hdparm <parametro> <dispositivo>


1/5 - Instalando:

Debian:
          # root@debian:/# apt-get install hdparm
Mandriva:
          # [root@mandriva /]# urpmi hdparm

2/5 - Informações:
Para coletar informações do seu disco, pode utilizar os comandos abaixo:

          # hdparm <dispositivo>       Informações básicas
          # hdparm -i <dispositivo>    Informações detalhadas
          # hdparm -I <dispositivo>   Informações brutalmente detalhadas.

3/5 - Recursos básicos:
Alguns recursos básicos a se analisar são:

          - multcount;
          - using_dma;
          - readahead;  

MULTCOUNT representa setores múltiplos, ele permite a transferência de múltiplos setores por interrupção de I/O. Basicamente incrementa velocidade de escrita e leitura.
USING_DMA (acesso direto a memória) acredito que o nome já diz tudo :D, apenas comentando que este recurso é fundamental para melhorar a performance do disco.
READaHEAD trabalha basicamente emulando uma memória cache, ele permite que o disco faça a leitura dos dados antes de transferi-los.

4/5 - Ativando os recursos:

Ativando multicount:
          # hdparm -m16 /dev/sda
Obs: o valor 16 deve ser retirado através do comando hdparm -i /dev/sda visualizando a opção MaxMultSect, este recurso é utilizando em casos de hd ide.

Ativando DMA:
          # hdparm -X /dev/sda
Obs: Este recurso também é efetivo em discos IDE, e normalmente não recomendado para hd's sata.
Normalmente placas mãe recentes controlam o DMA através da bios.

Ativando READaHEAD:
          # hdparm -a16 /dev/sda
Obs: O valor 16 deste recurso também foi baseando no relatório que o  comando hdparm -i resultou observando o parâmetro MultSect.

5/5 - Testando:
Para analisar se as alterações estão fazendo efeito, inicie com um teste:

          # hdparm -tT /dev/sda

Este comando irá analisar a velocidade de leitura (T) e escreita (t) do disco.
É muito importante testar, pois você pode acabar deixando o seu computador mais lento.

Um pequeno exemplo:

          # hdparm -tT /dev/sda/
 Timing cached reads:   1598 MB in  2.00 seconds = 798.50 MB/sec
 Timing buffered disk reads:  136 MB in  3.02 seconds =  45.02 MB/sec

Agora:
          # hdparm -A0 /dev/sda
Obs: -A1 ativa o recursos de leitura adiantada e -A0 desativa o recuso.

Testando novamente:
          # hdparm -tT /dev/sda
 Timing cached reads:     2 MB in  2.84 seconds = 721.88 kB/sec
 Timing buffered disk reads:    4 MB in  5.78 seconds = 708.13 kB/sec

É visível a diferente de leitura e escrita certo?

Bem é isso, agora pode "tunar" seu disco. :D

Nenhum comentário: