Newsgroup: it.comp.www.php
Titolo: processi zombie con php+mysql

alcuni giorni fa vi avevo chiesto consulenza per uno strano problema
di un sito fatto con php+mysql su linux che cresceva a dismisura
occupando spazio su disco.
pur non avendo ancora appurato con certezza la causa ora si sospetta
che fossero risorse occupate da processi zombie che non venivano
liberate.
ma in che modo un processo diventa zombie e non termina normalmente?
c'è qualche impostazione in php o in mysql per ridurre questo
problema?
se una query è troppo pesante può causare un processo zombie?
e l'interruzione da parte dei visitatori del sito del caricamento di
una pagina può causare processi zombie?
uno script che supera il tempo massimo viene eliminato (e le risorse
liberate) oppure diventa zombie?
tra un server windows e uno linux ci sono differenze riguardo a questo
problema?
c'è un modo per far sì che le risorse occupate dai processi zombie
vengano liberate più frequentemente?
il fatto che lo stesso sito su un altro server non avesse questo
problema a cosa può essere dovuto?
grazie a chi mi risponderà (anche solo ad alcune domande :-) )

 grazie a chi mi risponderŕ (anche solo ad alcune domande :-) )
Prima di rispondere a tutte le altre domande ne pongo io una ..
Hai provato a controllare senza che il server sia in esecuzione (sempre 
se puoi farlo) se lo spazio diminuisce ???
Cioč se riavvi la macchina e riparti da 0 lo spazio resta sempre lo 
stesso o diminuisce per poi ricrescere??
Se resta sempre lo stesso io credo piuttosto che hai qualche script 
installato di stramacchio d aqualche buontempone che ti riempie di fuffa 
il sito .. prova a dargli una controllata .. e poi vediamo di rispondere 
a tutte le altre ..
--
[CapoBecchino]

a tutte le altre ..
no, lo escludo.
sono state fatte delle prove (senza rendere il sito disponibile agli
utenti e reinstallando sia gli script che il db) e c'č una crescita
(minore dopo aver fatto un po' di ottimizzazioni sulle query).
il codice č scritto tutto da me.

 il codice è scritto tutto da me. 

 una pagina può causare processi zombie?
Non penso. Ma se stanno girando query continuano fino alla fine.
[ CUT ]
Per le altre domande non ti so molto aiutare: non uso linux per sviluppare.
Sei comunque sicuro che si tratti di processi zombie? O è solo un 
rallentamento del server dovuta a mysql? Io ho paura che sia la seconda 
ipotesi. Per caso hai fatto un count(*) sulle select?
IMHO avrai una query che per errore tira fuori milioni di record: basta 
poco, fai un paio di join e il risultato cresce esponenzialmente.
In locale ti va tutto senza problemi?
Sempre che tu possa: hai provato a restartare mysql?
Ciao e faci sapere
-- 
Andrea Azzini
Arya Interactive Media srl
www.inarya.com

 una pagina può causare processi zombie?
terina le query con ; e se non fai la query su un unique metti il limit

 grazie a chi mi risponderà (anche solo ad alcune domande :-) )
Non mi butterei subito sui processi zombie, l'aumento di spazio è 
indicativo. Da cosa (che files) sarebbe aumentato lo spazio occupato, e 
dove (directory)?
Tac

 terina le query con ; e se non fai la query su un unique metti il limit
[quoto 
http://php.net/mysql_query
]
The query string should not end with a semicolon. 
[/quoto 
http://php.net/mysql_query
]
un LIMIT non incrementa le prestazioni se non in casi eccezionali..
-- 
www.iuz-lab.info

 grazie a chi mi risponderà (anche solo ad alcune domande :-) )
Ti consiglio di scaricare il tuo sito in locale e replicarti su una tua 
macchina un "server" simile a quello dell'hosting poi ti installi un 
profiler oltre al resto e vedi dove sat' il problema.
Per il profiler cerca su google ce ne sono vari.
Ciao
-- 
Danilo Bottone
danilo...@gmail.com
www.danilobottone.com
 (.it) 

dove (directory)?
ti dico ciò che mi dissero quelli dell'hosting, perchè io non ho modo
di vederlo:
"20K     aquota.user
4,9M    bin
6,5M    boot
592K    dev
28M     etc
6,0G    home
4,0K    initrd
178M    lib
16K     lost+found
4,0K    misc
12K     mnt
4,1M    opt
909M    proc
337M    root
12M     sbin
4,0K    selinux
0       sys
84M     tmp
1,2G    usr
897M    var
I dati significativi sono i 6GB in home, 178MB in lib (che è la dir
dove sta
il database), 909MB in proc (i processi a carico della cpu lanciati
dal suo
dominio... Di solito la media è max 4-5MB) 897MB in var (che contiene
i file
log).
L'aumento di spazio non interessa database e httpdocs ma lo spazio
temporaneo occupato da processi, sessioni e file temporanei.
Potrebbe essere causato da molteplici fattori, come uno script in loop
che
srcrive in continuazione file temp o sessioni (a titolo di esempio) o
una
query che manda in loop il processo MySQL che la esegue.
L'aumento di spazio è progressivo.
"
e poi ancora
"Abbiamo monitorato progressivamente lo spazio ... E nel giro di 6-7
ore è
tornato nuovamente normale. (questa voltà però non siamo arrivati ai
24GB
dell'altro giorno).
Probabilmente ci sono delle slow query che occupano molto spazio ed i
relativi processi restano sleep, fino a che non vengono terminati
automaticamente perché zombie."
-- 
magoparanoico

In locale ti va tutto senza problemi?
sì