Zappy 10 Report post Posted December 14, 2009 Salve a tutti, gestisco un forum che ho piazzato su un dedicato quadcore monoprocessore, con sistema CentOS 5 e installazione standard di DA, sempre aggiornato. Sul server gira solo vBulletin 3.8.x aggiornato all'ultima versione. Il forum è mediamente trafficato: facciamo atualmente cira 4000 unici/giorno, 7000 visite/giorno, due milioni di pagine visualtizzte al mese, 2-3000 post/giorno, il carico del server (1 minuto avg) sta tra 2 e 8 (nei momenti di picco). L'accessibilità del forum è ottima, il tutto si apre velocemente e le risorse del server paiono tutt'altro che saturate, ma abbiamo un problema del quale non riesco ad individuare la causa: circa 3 o 4 volte al giorno (ma anche 5 o 6 talvolta) Apache si impalla e inizia mandare la CPU alle stelle, saturandola (il carico 1 min avg arriva a 200, 300, ...) e il sito diviene ovviamente irraggiungibile. Basta riavviare Apache e tutto torna normale... Mi pare che il problema non sia dovuto tanto al carico sul server, perché questi impallamenti accadono anche alle 10 di mattina, quando non abbiamo poi molti connessi. Per tamponare ho scritto un piccolo bash che riavvia Apache quando la situazione si fa critica e fino ad ora diciamo che ci siamo salvati... Nel medio termine, però, questa non può essere la soluzione, perché molti utenti di passaggio fanno una non buona esperienza del sito quando accadono questi minidown (che durano dai 5 ai 10 minuti) e sono portati a non tornare. Dobbiamo quindi eliminare il problema alla radice. Qualcuno forse sa di altri che hanno attraversato la medesima situazione e ne sono usciti? Se sì, come? Ci può essere qualche incompatibilità tra vBulletin e l'installazione standard fatta da DirectAdmin? Grazie mille in anticipo. Share this post Link to post Share on other sites
Alex 29 Report post Posted December 14, 2009 dipende da come setti i child di apache, settaggi che variano a seconda della macchina Share this post Link to post Share on other sites
Zappy 10 Report post Posted December 14, 2009 Posto la mia configurazione: <IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 ServerLimit 450 MaxClients 450 MaxRequestsPerChild 10000 </IfModule> Timeout 60 KeepAlive On MaxKeepAliveRequests 200 KeepAliveTimeout 1 Share this post Link to post Share on other sites
FlameNetworks 26 Report post Posted December 14, 2009 Così al volo ti posso consigliare di impostare il KeepAlive ad Off. 450 clients come valore massimo mi sembra eccessivo. Sarebbe utile avere anche la configurazione hw del server. Hai fatto un'analisi sui log di apache, alla ricerca di qualche errore significativo? Share this post Link to post Share on other sites
Zappy 10 Report post Posted December 14, 2009 Salve Flame, il server è questo: Intel Core2 Quad CPU Q6600 @ 2.40GHz, monoprocessore, RAM 2 GB, 2 dischi Raid 1 Hard sATA. CentOS 5 è a 64bit. Il log di Apache l'ho un po' guardato, ma non ho trovato nulla di che... Non mi sono soffermato molto però. Darò un sguardo più analitico. Share this post Link to post Share on other sites
Shazan 44 Report post Posted December 15, 2009 Un MaxRequestsPerChild di 500 o 1000 ti rigenererebbe i child più spesso, riducendo il rischio che qualcuno si impalli o che consumi troppa memoria. 10000 mi sembra tanto. Share this post Link to post Share on other sites