Newsgroup: it.comp.os.linux.sys
Titolo: Apache e risorse

Ciao a tutti,
propongo forse un annoso problema... Apache 1.3.26 + PHP standard di
slackware 8.1 .
Ci gira un webserver con 200.000 connessioni al giorni. Le pagine PHP
chiamano un db su un'altra macchina e vari banner su altre macchine della
stessa LAN IDC.
Sistematicamente ogni 3/4 giorni (di solito la mattina) succede che apache
sembra incraniato.
Facendo uptime trovo valori di carico come 40.9 38.8 ....
Unica maniera per uscire dal buco è fare un apachectl stop e start
Se cerco di fare un apachectl status il sistema non riesce a vedere lo
status. Ovviamente con 'ps' tutto sembra ok.
In httpd.conf ho:
TimeOut 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
MinSpareServers 5
MaxSpareServers 10
StartServers 8
MaxClients 256
MaxRequestsPerChild 100
Inizialmente avevo pensato che fossero le pagine php che mantenessero up dei
processi o query collegati al db che alla fine lasciavano stupidi ghost in
giro. Dopo un'analisi delle pagine ho visot che però non ci sono tutte
queste query. In effetti le stesse pagine girano da un anno a questa parte e
il problema c'è solo da tre mesi....
Qualcuno ha qualche idea o suggetimento in merito?  ... grazie
Bye, Stefano

I log di apache non ti dicono nulla?
Per incraniato intendi che il sito non è visitabile, o che è molto lento?
-- 
Marco Ciullini
Datamar s.r.l.
http://www.datamar.it
mailto:
marco.ciullini@datamarpuntoit

I log sono completamente piatti...cioè non dicono niente...
Incraniato...si vero...in realtà è lento...tipo 590 secondi per vedere una
pagina da 30 kb ... il che spesso manda prima in timeout i browser...
Bye, Stefano


Un bel ps -aux che dice?
-- 
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)
tosnet.it
	Il paese da dove veniva non era un paese di geni.
	Loro lo chiamavano computer umano perchè sapeva contare fino a 20.
	Nudo fino a 21

 ha scritto nel messaggio
Un bel ps -aux che dice?
nex3000  29733  0.0  1.8 74512 4736 ?        S    22:09   0:00
/usr/sbin/httpd
nex3000  29741  0.0  2.0 74876 5148 ?        S    22:10   0:00
/usr/sbin/httpd
nex3000  29742  0.0  2.0 74856 5108 ?        S    22:10   0:00
/usr/sbin/httpd
nex3000  29757  0.0  1.9 74848 5092 ?        S    22:11   0:00
/usr/sbin/httpd
nex3000  29759  0.0  1.8 74492 4708 ?        S    22:11   0:00
/usr/sbin/httpd
nex3000  29760  0.0  2.0 74872 5124 ?        S    22:11   0:00
/usr/sbin/httpd
nex3000  29761  0.0  1.8 74484 4660 ?        S    22:11   0:00
/usr/sbin/httpd
nex3000  29768  0.0  1.8 74568 4840 ?        S    22:11   0:00
/usr/sbin/httpd
nex3000  29771  0.0  1.8 74484 4696 ?        S    22:11   0:00
/usr/sbin/httpd
nex3000  29772  0.0  2.0 74864 5120 ?        S    22:12   0:00
/usr/sbin/httpd
nex3000  29773  0.0  1.8 74484 4668 ?        S    22:12   0:00
/usr/sbin/httpd
nex3000  29793  0.0  1.8 74484 4660 ?        S    22:13   0:00
/usr/sbin/httpd
nex3000  29806  0.0  1.8 74476 4652 ?        S    22:14   0:00
/usr/sbin/httpd
nex3000  29810  0.0  1.9 74848 5088 ?        S    22:14   0:00
/usr/sbin/httpd
nex3000  29812  0.0  1.8 74632 4788 ?        S    22:14   0:00
/usr/sbin/httpd
nex3000  29814  0.0  1.9 74848 5088 ?        S    22:14   0:00
/usr/sbin/httpd
nex3000  29819  0.0  1.8 74468 4644 ?        S    22:15   0:00
/usr/sbin/httpd
nex3000  29820  0.0  1.8 74408 4616 ?        S    22:15   0:00
/usr/sbin/httpd
nex3000  29821  0.0  1.9 74860 5064 ?        S    22:15   0:00
/usr/sbin/httpd
Per un centinaio di volte...in questo momento....e quando si 'sputtana' dice
sempre la stessa cosa...
Bye, Stefano

se la macchina regge dovresti fare un po' di tuning...
io inizierei con il ricompilare apache con MaxConnection a 512 o 1024 
(il limite massimo è una variabile in httpd.h), poi farei un po' di 
tuinig dei tempi di timeout e altri valori,.
se apache è lento spesso significa che la coda di esecuzione delle 
connessioni è intasata. il fatto che il sistema sia carico al 40% 
significa che puoi provare ad aumentare le connessioni contemporanee
-- 
Davide Corrado
to send mail, remove "no_spam_" from the address

 
Nessun processo hang? COn un carico di quel livello ti devi trovare un 
processo che prende almeno il 90%..


ah, ovviamente il tutto può dipendere anche da come fai le 
interrogazioni sul db


processo che prende almeno il 90%..
In questo momento tutto funzia .... aspetto il prossimo 'down' e controllo
meglio. BTW quale potrebbe essere un problema? Il codice php non ottimizzato
puň causare buchi del genere?
Intanto sto valutando apache2+php5b1 sembra che tutto funzi ok e apache2 da
ciň che ho letto e visto ha una gestione della memoria decisamente
allettante (modulo worker.c) ...
Bye, Stefano

 Bye, Stefano


> Io sono alla 1.3.27 e mi va benone: che traffico hai?
Media di 2.5 Mbit/s solo sul webserver, circa 450.000 visite uniche per
giorno...
Bye, Stefano

> se la macchina regge dovresti fare un po' di tuning...
Si vero....č il motivo per cui volevo anche anche iniziare a passare a
apache2 che nei test che sto facendo sembra avere una gestione decisamente
migliore della memoria e delle connections...
Bye, Stefano


sono un po' sotto..
