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!