[Fedora-users-br] Apache 2.0 + PHP 4.4

Hugo Cisneiros hugo em devin.com.br
Qua Jan 18 13:38:11 UTC 2006


wanderlei wrote:
> Ola gente..

Hau Wanderlei!

> Estou rodando FC4 com Apache 2.0 + PHP 4.4 + MySQL 4.1 em um server 
> destinado somente como webserver..
> 
> Acontece que depois de um periodo de menos de 24 horas rodando os sites 
> ficam lentos demais, e a unica solução é reiniciar o apache.
> 
> Como a solução era a mais facil eu acabei colocando isos no cron e todos 
> os dias o apache se reinicia.

Não é a melhor solução... :P
Uma caracteristica que eu gosto do Linux é sempre um uptime gigantesco!

> Mas tenho que saber o motivo disso acontecer.. porque o apache esta 
> consumindo tantos recursos assim que chega a deixar os sites lentos???  
> Sera que realmente é o Apache?? Se não for porque tudo fica normal 
> quando reinicio ele???

Primeiro de tudo, o Apache é muito, mas muito flexível. Geralmente as 
configurações que vêm por padrão não refletem todo o potencial de 
gerenciamento do mesmo. Saber dominar a ferramenta e entender como ela 
funciona são essenciais para fazer os ajustes certos para o seu caso 
específico.

Duas coisas que pensei que podem ajudar bastante no seu caso são os 
ajustes dos processos filhos do Apache, e outro um cache de PHP. Este 
primeiro você pode configurar no próprio httpd.conf do Apache. Vou te 
dar um exemplo de uma configuração, mas lembre-se que você tem que sair 
ajustando para o seu caso!

StartServers            8
MinSpareServers         8
MaxSpareServers         25
MaxClients              256
MaxRequestsPerChild     1500

Cada opção dessas tem um sentido. O que pode estar acontecendo é que seu 
webserver pode estar recebendo muitas requisições, e por isso os 
processos filhos ficam ocupados e demorando para serem liberados 
(timeout), e aí as páginas ficam lentas. Cabe a você ver qual a sua 
carga, fazer um pouco mais, e dar uma olhada no uso de memória dos 
processos para ver se sua máquina não vai sobrecarregar :)

Procure na documentação do Apache sobre estas opções, que você vai 
encontrar falando sobre o que é cada uma com detalhes.

Agora sobre o cache de PHP. Um cache de PHP é ótimo para as páginas 
dinâmicas de um servidor web porque ele compila uma vez a página em PHP 
e deixa armazenada. Caso a páginas sofra alterações, ele recompila, caso 
não haja (o que é mais comum), ele não gasta memória/processamento 
recompilando, e apenas usa o que está em cache. Isso melhora bastante o 
desempenho das páginas PHP!

Eu rodo um de meus servidores o turck-mmcache, muito bom e fácil de 
instalar, disponível em:

http://turck-mmcache.sourceforge.net/index_old.html

E é isso aí! Experimente e nos diga os resultados, compartilhe o que 
você for fazendo com a gente!

> Agradeço qualquer ajuda
> Wanderlei

Abraço!

-- 
[]'s
Eitch

http://www.devin.com.br/eitch/
"Talk is cheap. Show me the code." - Linus Torvalds




Mais detalhes sobre a lista de discussão Fedora-users-br