On 01-08-2006 21:19, Jeronimo Bezerra wrote:
Sr*s, boa noite,

Gostaria de saber uma maneira de testar o desempenho de um hardware para ser servidor. Tenho aqui um servidor IBM Xseries250, com 4 processadores de 900MHz e 4GB de RAM.

Com a instalação padrão de Debian Sarge 32bits eu não tenho suporte a memória acima de 900MB e a mais de um processador, então resolvi compilar o kernel.

Vc poderia ter pego o kernel com sufixo smp diretamente do repositório....

Compilei o kernel 2.6.17.3 e levou 16 minutos. Como o processador é de 900MHz cada, e só usa um no Kernel padrão, ignorei o tempo. Após compilar o kernel, com

suporte a HIGHMEM e SMP, precisei recompilá-lo e levou os mesmos 16 minutos! Não entendi, então comecei a buscar ferramentas para testes de performance. Usei o

“stress” e vi que realmente os 4 processadores estão em uso, então busquei alguns testes de performance.


Usei o seguinte comando:

time echo "scale=5000; 4*a(1)" | bc –l

para calcular o valor de PI com 5000 casas decimais.

Os resultados foram:

1m55s com Kernel 2.6.17 e SMP

1m57s com kernel 2.6.8-2-386 (sem SMP)

1m55s com Kernel 2.6.8-3-686-SMP

Sei que o cálculo do bc não é um bom referencial por ser um único processo, mas a compilação do kernel não seria?

Quem sabe como avaliar se realmente estou fazendo uso dos 4 processadores?

O kernel é compilado através de um makefile. Para compilar mais de uma coisa ao mesmo tempo, vc tem que passar a flag '-j' + o no. de processos concorrentes. No caso do kernel, se vc estiver compilando do jeito debian, estará usando o comando make-kpkg do kernel-package. Ache isso na man page dele:

CONCURRENCY_LEVEL
If defined, this environment variable sets the concurrency level of make used to compile the kernel and the modules set using -j flags to the sub make in the build target of make-kpkg. Should be a (small) integer, if used. You can get the current number of CPUs using the command:
"grep -c ’^processor’ /proc/cpuinfo"
WARNING: Do NOT set the -j option in MAKEFLAGS directly, this shall call the build to fail.


Defina a variável (ou passe o parâmetro correto) e rode novamente os comandos.

Durante a compilação, abra outro terminal e verifique com comando top (ou htop, é mais fácil e bonitinho) se está realmente usado todas as CPUs.

--
Marcos


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to