
Estou tentando estabelecer em quais limites meu servidor dedicado deve operar. O servidor é um Intel(R) Xeon(R)CPU L5420 a 2,50 GHz com 16 GB de RAM executando RedHat com Apache 2 e MySQL. Possui 16 domínios e alguns desses domínios recebem mais de 3.000 visitantes únicos por dia. Se eu executar um comando "top", vejo o seguinte:
top - 10:18:10 up 428 days, 18:20, 1 user, load average: 1.71, 1.44, 1.49
Tasks: 211 total, 3 running, 206 sleeping, 0 stopped, 2 zombie
Cpu(s): 23.5%us, 3.8%sy, 0.0%ni, 72.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 16431252k total, 16119648k used, 311604k free, 613340k buffers
Swap: 2096472k total, 108096k used, 1988376k free, 9511536k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7440 apache 16 0 434m 111m 7096 S 59.8 0.7 2:56.17 httpd
8856 apache 17 0 438m 115m 7084 S 54.5 0.7 2:07.94 httpd
10441 apache 17 0 432m 107m 5696 R 35.9 0.7 0:08.18 httpd
5035 apache 16 0 444m 118m 7708 S 14.0 0.7 5:24.62 httpd
26931 mysql 15 0 2900m 2.6g 5480 S 1.7 16.3 43:56.03 mysqld
10486 root 15 0 12864 1184 828 R 0.7 0.0 0:00.03 top
742 root 10 -5 0 0 0 S 0.3 0.0 205:45.65 kjournald
9141 root 15 0 203m 136m 4988 S 0.3 0.9 2:39.58 savscand
9150 root 15 0 193m 136m 4924 S 0.3 0.9 2:40.54 savscand
1 root 15 0 10372 556 524 S 0.0 0.0 0:15.75 init
2 root RT -5 0 0 0 S 0.0 0.0 0:02.52 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.33 ksoftirqd/0
4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
5 root RT -5 0 0 0 S 0.0 0.0 0:01.99 migration/1
6 root 34 19 0 0 0 S 0.0 0.0 0:00.11 ksoftirqd/1
7 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/1
8 root RT -5 0 0 0 S 0.0 0.0 0:01.87 migration/2
9 root 34 19 0 0 0 S 0.0 0.0 0:00.10 ksoftirqd/2
10 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/2
11 root RT -5 0 0 0 S 0.0 0.0 0:01.91 migration/3
12 root 34 19 0 0 0 S 0.0 0.0 0:00.11 ksoftirqd/3
13 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/3
14 root RT -5 0 0 0 S 0.0 0.0 0:12.35 migration/4
15 root 34 19 0 0 0 S 0.0 0.0 0:00.49 ksoftirqd/4
16 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/4
17 root RT -5 0 0 0 S 0.0 0.0 0:14.29 migration/5
18 root 34 19 0 0 0 S 0.0 0.0 0:00.42 ksoftirqd/5
19 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/5
20 root RT -5 0 0 0 S 0.0 0.0 0:13.40 migration/6
Minha pergunta é: esses números parecem normais? Eles estão muito altos? Muito baixo? Por que o uso da CPU ultrapassa 100%?
Muito obrigado.
Responder1
Minha pergunta é: esses números parecem normais? Eles estão muito altos? Muito baixo?
Não existe 'normal'. Estatísticas de CPU, memória, carga e io fornecem uma boa indicação de como está o desempenhorestritomas eles não fornecem uma imagem precisa do desempenho do seu servidor. Se você quiser saber qual é o desempenho de suas transações, então você precisa medir a velocidade de suas transações. Se você não tiver um proxy reverso e estiver veiculando conteúdo pela Internet, o tempo necessário para atender cada solicitaçãodeveser dominado pelo tempo da rede. Uma maneira de resolver isso é medir o tempo decorrido até o primeiro byte da solicitação (mas obviamente isso pode ser enganoso se a codificação for fragmentada). Outra solução é usar uma ferramenta como o Yahoo Boomerang, que mede o desempenho da página em vez do desempenho da solicitação (e, portanto, está muito melhor alinhada com a experiência do usuário), mas também captura informações de rendimento da rede.
(Mas concordo com o Andrei, que manter a carga abaixo do número de CPUs é uma boa ideia)
Por que o uso da CPU ultrapassa 100%?
Porque você tem várias CPUs.
Responder2
Você perdeu o importante parâmetro LA (média de carga): (primeira linha do topo). A regra geral é: mantenha os números LA abaixo do número de núcleos da CPU, embora existam muitos outros parâmetros vitais.