Oh joy, oh glory!

Após um longo calvário de problemas com o meu servidor caseiro, finalmente posso usar esta cangalhada toda como deve ser!!!😀

three.jpg

As pessoas perguntam-me se o acesso aos discos através da rede não é mais lento do que se eles estivessem instalados localmente na máquina, como é costume. A resposta é Não! Desde que a ligação seja rápida, claro… Um disco ATA100 dificilmente excede os 70MB/s (560Mbit/s), e uma ligação Ethernet Gigabit permite 125MB/s (1000Mbit/s), o que ainda dá uma folga boa. É claro que há uma quantidade de outros factores, mas para começar, não parece haver problema.

Pois bem, a minha ligação Gigabit entre o servidor e a “Cadeira” tem andado cada vez mais “entupida”, e já não podia funcionar a mais de 1,25MB/s (10Mbit/s), o que é ridiculamente lento! O PC cliente estava a demorar uns bons 20 minutos para arrancar, e isto é inaceitável. Decidi investigar a fonte do problema de uma vez por todas… pensei que tinha queimado as placas de rede “onboard” da Cadeira, mas afinal o problema era mesmo no servidor.

A motherboard ASUS A7N8X-X tem problemas de gestão de interrupções, e isso andava a causar-me todo o tipo de problemas com as placas PCI que lá metia… depois de ver falhar sem explicação um controlador de discos IDE, duas placas de TV diferentes, e várias placas de rede 100 e 1000 Mbit/s, comecei a achar que afinal o problema era da máquina, e não das placas… (compreensão lenta, hein?…). É o que dá mexer com material velho… nunca se sabe de onde vêm os problemas…

Procurei na Web por problemas PCI/IRQ desta placa-mãe, e eis que muita gente se queixa do mesmo por essa europa fora… a solução é simples: desactivar a gestão avançada de IRQ (APIC e LAPIC). Isto não traz qualquer perda de desempenho visível num sistema monoprocessador como este e pode ser feito nas opções de carregamento do núcleo Linux, da seguinte forma:

  1. Editar o ficheiro de arranque do Grub:
    1. sudo nano /boot/grub/menu.lst
    2. Na linha que diz “# defoptions=” acrescentar no fim “ noapic nolapic
    3. Na linha que diz “# altoptions=(recovery mode)” acrescentar no fim “ noapic nolapic
  2. Actualizar o ficheiro, correndo o comando “sudo update-grub“.
  3. Reiniciar o PC.

E pronto, adeus problemas de PCI!! 😀 Agora sim, posso usufruir do material que paguei!!!

dvgrabhdparm.png

Posso por exemplo capturar vídeo digital de uma câmera miniDV, ao mesmo tempo que faço testes de desempenho de discos. E ainda sobra largura de banda na ligação!!!

A captura de miniDV apenas leva 20MB/s em descargas ocasionais, e o teste de disco resulta em velocidades iguais àquilo que consigo localmente no servidor, 60MB/s. Como podem ver, mesmo acumulando os dois e algum outro tráfego, a velocidade máxima ainda se ficou pelos 75MB/s, o que não esgota nem de longe a ligação Gigabit.

Um outro teste interessante foi lançar uma sessão remota X (XDMCP) para controlar o servidor, e aí abrir um ficheiro de vídeo de alta resolução ocupando todo o monitor; também não foi problemático, com uns meros 25MB/s a fluir permanentemente entre os dois computadores.

E pronto, tá feito. O computador sem discos nem se apercebe que não os tem.😉

Houve alguém que me disse que estava à espera de “benchmarks” desta nova máquina… pois bem, resolvi correr o “bonnie++” para ver como se portava o acesso aos discos com um teste mais substancial e consistente. Aqui ficam os resultados (dois processos em paralelo, um para cada processador do cliente):

bonnie -y
Writing with putc()…done
Writing intelligently…done
Rewriting…done
Reading with getc()…done
Reading intelligently…done
start ’em…done…done…done…
Create files in sequential order…done.
Stat files in sequential order…done.
Delete files in sequential order…done.
Create files in random order…done.
Stat files in random order…done.
Delete files in random order…done.
Version 1.03

——Sequential Output—— –Sequential Input- –Random-
-Per Chr- –Block– -Rewrite- -Per Chr- –Block– –Seeks–
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
thechair 8G 15139 28 12608 6 4501 2 9142 26 10559 3 51.4 0

——Sequential Create—— ——–Random Create——–
-Create– –Read— -Delete– -Create– –Read— -Delete–
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 11713 69 +++++ +++ 11076 68 12546 80 +++++ +++ 10095

bonnie -y
Writing with putc()…done
Writing intelligently…done
Rewriting…done
Reading with getc()…done
Reading intelligently…done
start ’em…done…done…done…
Create files in sequential order…done.
Stat files in sequential order…done.
Delete files in sequential order…done.
Create files in random order…done.
Stat files in random order…done.
Delete files in random order…done.
Version 1.03

——Sequential Output—— –Sequential Input- –Random-
-Per Chr- –Block– -Rewrite- -Per Chr- –Block– –Seeks–
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
thechair 8G 14942 29 13456 6 4497 2 9106 26 10530 3 51.4 0

——Sequential Create—— ——–Random Create——–
-Create– –Read— -Delete– -Create– –Read— -Delete–
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 11875 56 +++++ +++ 11494 68 12899 61 +++++ +++ 10826 59

2bonnies.png Desta vez a taxa de transmissão de dados não ultrapassou muito os 63MB/s, o que juntamente com os resultados do bonnie (máximo 68% de utilização dos CPUs) indica que o sistema de ficheiros no servidor é o ponto mais fraco em termos de desempenho.

~ por Vasco Névoa em Outubro 5, 2007.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s

 
%d bloggers like this: