[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