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]