Meuservidorfazissoacadapoucosdias.Oqueéumaporcariaéquesempreparecefazerissologodepoisdeeuirparaacama,entãoquandoeuacordo,sousaudadacomofatodequemeuservidorestáinativohá6ou7horas.
Quandopercebiissopelaprimeiravez,adicioneiumcronjobquetentareiniciaroservidoracada15minutos,masachoqueissonãoresolveuoproblema.Umavezqueeunoteiqueoservidorestavainoperante,eupossoestecomando:
/etc/init.d/apache2restart*Restartingwebserverapache2apache2:Couldnotreliablydeterminetheserver'sfullyqualifieddomainname,using127.0.0.1forServerName...waiting...........................................................apache2:Couldnotreliablydeterminetheserver'sfullyqualifieddomainname,using127.0.0.1forServerNamehttpd(pid17597)alreadyrunning
...oqueéestranho,porqueumareinicializaçãodevereiniciaroservidor,mesmoqueelejáestejaemexecução,correto?Eueventualmentetiveque"parar" e depois "começar" para que funcionasse novamente.
Eu olhei através dos logs e encontrei algo muito estranho. Parece que, na época em que o servidor falhou, os logs tinham entradas que estão desordenadamente desordenadas. Parece um pouco assim:
xx.xxx.xxx.x - - [21/Apr/2010:06:32:05 -0400] "GET / blah"
xx.xxx.xxx.x - - [21/Apr/2010:06:51:25 -0400] "GET / blah"
x.xx.xxx.xxx - - [21/Apr/2010:06:38:23 -0400] "GET / blah"
xxx.xx.xx.xx - - [21/Apr/2010:06:31:56 -0400] "GET / blah"
xxx.xx.xx.xx - - [21/Apr/2010:06:51:49 -0400] "GET / blah"
xx.xx.xxx.xx - - [21/Apr/2010:06:33:20 -0400] "GET / blah"
Eu não acho que o problema seja a memória, porque isso:
medizque,logoantesdoacidente,ousodamemóriaébom.
Estouexecutandooapachecomoworkermpm,aquiestãoasconfiguraçõesparaisso:
<IfModulempm_worker_module>StartServers1MaxClients100MinSpareThreads5MaxSpareThreads10ThreadsPerChild10MaxRequestsPerChild3000</IfModule>
Esteservidorapacheestáexecutandoummontedecoisas,masamaiorpartedotráfegovemdeumprojetododjangoqueestouhospedando,queusaomod_wsgi.Hátambémumfórumdemáquinassimplesqueestásendoexecutadoemmod_fcgid.Essasconfiguraçõesestãoabaixo:
<IfModulemod_fcgid.c>MaxRequestsPerProcess500MaxProcessCount3AddHandlerfcgid-script.php.fcgiAddHandlercgi-script.cgi.plFCGIWrapper"/usr/bin/php-cgi" .php
</IfModule>
Alguém sabe de mais alguma coisa que eu possa verificar? Eu apenas mexi em cada cenário que eu consigo pensar, mas esses congelamentos ainda acontecem.
Edit: Eu tenho um servidor postgres e mysql rodando nesta máquina, mas ambos funcionam durante esse congelamento, porque meu script de backup rodou durante esse período de tempo de 5 horas, e funcionou perfeitamente bem.
Edit2: Estou executando o Ubuntu Server 9.10. Quando o servidor está inoperante, todos os pedidos nunca retornam. A página trava. Nenhuma mensagem de erro ou qualquer coisa.