Pagina 1 di 1

server web LAMP che si blocca improvvisamente con load a 80

Inviato: ven 18 dic 2009, 15:15
da nik600
Ciao a tutti

da qualche giorno ho un problema stranissimo a cui non riesco a trovare soluzione.

Ho una macchina hp biprocessore dualcore Intel(R) Xeon(R) CPU 1.60GHz con 2 GB di RAM.

La macchina è in produzione da un paio di anni, monta una slackware 12 con kernel 2.6.22.5.

versione di apache: apache-2.2.11/
versione di php: 5.2.6
versione di mysql: 5.0.45

Il software montato come potete notare non è aggiornatissimo, in ogni caso la macchina si comportava in modo stabile e impeccabile fino a qualche giorno fa.

Nell'ultima settimana mi è capitato 4 volte di dover fermare la macchina (2 volte ho dovuto fare un reboot fisico perchè pur rispondendo ai ping non si entrava in ssh, la richiesta andava in timeout) 2 volte invece sono riuscito a "salvarla" per pura fortuna, dando un killall -9 httpd.

Subito dopo il kill con il top ho notato dei load fuori dalla grazia di dio, tipo 80 o 70 di load.

Non riesco a capire quale sia il problema, se è la memoria, se è un qualche script php o cosa sia.

Sulla macchina è presente quasi totalmente codice mio e testato e qualche istanza di Joomla wordpress e drupal.

La macchina è sotto monitoraggio snmp con cacti, nell'ultimo anno il load si è stabilizzato circa sul 4.
Quello che non riesco a capire è come mai nel giro di un minuto questo schizzi su a 50 e oltre bloccando completamente la macchina.

E' un problema di trashing?
Sulla macchina è presente un'area di swap di 1 GB, ovviamente la memoria risulta sempre occupata quasi totalmente, quello che ho visto è che dopo il killall di apache la memoria free aumenta quasi come dopo un reboot, questo mi fa pensare che sia apache ad utilizzare tutte le risorse.

Essendoci circa 2-3000 richieste HTTP ogni 10 minuti su questa macchina diventa un pò difficile isolare il problema.

Voi avete idee e/o suggerimenti?

Re: server web LAMP che si blocca improvvisamente con load a 80

Inviato: ven 18 dic 2009, 15:31
da DanBadJar
La butto li.
Prova a fare un memtest per controllare che la ram non abbia problemi.

Re: server web LAMP che si blocca improvvisamente con load a 80

Inviato: ven 18 dic 2009, 15:33
da nik600
ok grazie, il problema è che la macchina è in webfarm...

domanda: ma se la ram ha problemi non dovrebbe andare in kernel panic ?

non dovrebbe stampare qualche errore a livello di kernel?

il dmesg è vuoto! (o meglio, non contiene nulla oltre ai soliti messaggi che escono in fase di avvio)

Re: server web LAMP che si blocca improvvisamente con load a 80

Inviato: ven 18 dic 2009, 16:07
da DanBadJar
Non sempre il sistema va in kernel panic con problemi di ram.
Ti consigliavo il memtest proprio perchè recentemente un mio collega aveva CPU che improvvisamente schizzavano al 100% e applicazioni che crashavano inspiegabilmente senza nessun messaggio del kernel!
Se hai modo di fare questo test almeno puoi iniziare ad andare per esclusione sui problemi hardware.

Re: server web LAMP che si blocca improvvisamente con load a 80

Inviato: ven 18 dic 2009, 16:19
da nik600
ok ti ringrazio!

Re: server web LAMP che si blocca improvvisamente con load a 80

Inviato: ven 18 dic 2009, 19:27
da mkt0
nik600 ha scritto:Ciao a tutti

[... cut ... ]
Essendoci circa 2-3000 richieste HTTP ogni 10 minuti su questa macchina diventa un pò difficile isolare il problema.

Voi avete idee e/o suggerimenti?
è risaputo che apache tende a prendersi l'impossibile, specialmente se la conf è di tipo "huge".
prova magari ad abbassare le istanze di httpd di partenza e massimi, smanettare sui valori di maxclients e via dicendo.

una pseudo-lista (non ordinata per importanza) dei possibili parametri su cui lavorare nella conf di apache a mio pare sono:

# MaxClients
# MaxKeepAliveRequests
# MaxMemFree
# MaxRequestsPerChild
# MaxRequestsPerThread
# MaxSpareServers
# MaxSpareThreads
# MaxThreads
# MaxThreadsPerChild
# MCacheMaxObjectCount
# MCacheMaxObjectSize
# MCacheMaxStreamingBuffer
# MCacheMinObjectSize
# MCacheRemovalAlgorithm
# MCacheSize
# MinSpareServers
# MinSpareThreads
# NumServers
# StartServers
# StartThreads
# ThreadLimit
# ThreadsPerChild
# ThreadStackSize

e dulcis in fundo:

# RLimitMEM
# RLimitNPROC

Questa pagina http://httpd.apache.org/docs/2.0/mod/directives.html ti può essere molto utile ;)

Re: server web LAMP che si blocca improvvisamente con load a 80

Inviato: ven 18 dic 2009, 23:15
da kobaiachi
Hai aggiornato qualche pacchetto o libreria di recente ?

hai modificato qualche script che usa cron o che dipende da altri script ?

il problema si presenta in maniera Casuale o ad intervalli regolari ???

il traffico è sempre lo stesso o il problema avviene durante picchi di traffico ?

è persente un load balancer davanti alla macchina.

Per esperienza quando si lavora all 80 % di carico lavori gia in swap

come sta la var ?

il fatto che risponde al ping esclude un kernel panic è il fatto che non logghi e dovuto solo al alto carico del sistema .

è probabile che hai attivo il sistema di diagnostica systat (gli hai dato una controllata?)
(in caso non lo abbia installalo )

invece che fare memtest puoi andare nella server farm e dare una occhiata alle luci di diagnostica del sistema ( probabilmente lo puoi fare in remoto mi pare che i server HP hanno un software per il monitoraggio tramite ILO dello stato del server ) .