Eu tenho um 2 apache com servidores web mod_php por trás de um balanceador de carga, os sistemas operacionais são CentOS 6.x. Eles deveriam ser IDÊNTICOS. Eles devem receber os mesmos pedidos usando round-robin. Um deles estava se saindo muito pior do que o outro.
Eu achei que estava recebendo mais solicitações por algum motivo:
Dado este background, verifique as imagens atuais da CPU. O servidor com o problema: desempenho da CPU da imagem web1 Observe que RED significa que o tempo da CPU do sistema não é usuário, o apache é o espaço do usuário. Por favor, observe também que essas imagens são de depois que a alteração foi feita para obter menos solicitações para web1 (com o problema). Antes de termos sérios problemas de CPU e carga média Então aqui está o outro servidor. Desempenho da CPU da imagem Web2 . Nenhum problema de E / S, RAM ou outro problema de hardware foi detectado.
Isso me fez suspeitar de problemas no kernel. top
parece dizer o mesmo. Início
Desempenho da imagem Web1 vs Web2
Então notei que os kernels têm módulos diferentes carregados por algum motivo.
Como não consigo encontrar outra diferença. Na verdade, tenho o suficiente com essas informações, já que os servidores devem ser o mesmo. BOSS quer que eu seja capaz de vincular isso ao problema real antes de remover os módulos do kernel. Eu tentei algumas coisas, incluíu perf, mas não consegui.
Perf ( perf record -F 99 -a -g -- sleep 30
) está produzindo um resultado como este, mas eu realmente não entendo como usá-lo ou como ele pode me ajudar a definir resultados. web1 à esquerda e web2 à direita. se você ver, lista as chamadas que levam tempo / porcentagem da CPU, mas eu realmente não sei o que elas são.
Você concorda que isso provavelmente deve estar relacionado aos módulos do kernel? Por que sim ou não?
Alguém pode me dar uma idéia sobre como obter estatísticas sobre o uso de módulos e o tempo / porcentagem de uso da CPU por módulo, etc?
Alguma outra coisa em que eu não esteja pensando?
Tags kernel php linux apache-2.2 centos6