Discussion:
Timeout la semafoare
Sergiu
2009-10-25 07:16:04 UTC
Permalink
Salutare,

Am o problema cu un sistem FAMP care functioneaza cu Apache 2.2 + mod_fcgi
si foloseste APC pentru cache opcode PHP. Isi creeaza mai multe semafoare
care am impresia ca raman deschise in memorie pe o perioada nelimitata. Nu
am folosit semafoare in programare, deci nu stiu sigur cum ar trebui sa le
tratez, dar presupun ca ar trebui sa se inchida la un moment dat din
aplicatie. In cazul de fata raman deschise mult dupa ce scriptul folosit a
fost interpretat - ex. sunt semafoare care imi arata ca au fost create in
urma cu mai bine de 10 minute.

Stiti vreo metoda prin care pot pune un timeout pe semafoare? Eu am gasit
momentan o solutie mai putin eleganta. Am marit numarul de semafoare la 1000
ca sa nu mai apara erori de tipul 500 si am facut un script care verifica
rezultatul de la `ipcs -as` si sterge cu ipcrm semafoarele care sunt
deschise de mai mult de 5 minute.
--
Message made from 100% recycled electrons.

http://www.lamp.ro
http://www.regex.ro
http://www.nethelp.ro
Vlad Galu
2009-10-25 08:17:33 UTC
Permalink
Post by Sergiu
Salutare,
Am o problema cu un sistem FAMP care functioneaza cu Apache 2.2 + mod_fcgi
si foloseste APC pentru cache opcode PHP. Isi creeaza mai multe semafoare
care am impresia ca raman deschise in memorie pe o perioada nelimitata. Nu
am folosit semafoare in programare, deci nu stiu sigur cum ar trebui sa le
tratez, dar presupun ca ar trebui sa se inchida la un moment dat din
aplicatie. In cazul de fata raman deschise mult dupa ce scriptul folosit a
fost interpretat - ex. sunt semafoare care imi arata ca au fost create in
urma cu mai bine de 10 minute.
Stiti vreo metoda prin care pot pune un timeout pe semafoare? Eu am gasit
momentan o solutie mai putin eleganta. Am marit numarul de semafoare la 1000
ca sa nu mai apara erori de tipul 500 si am facut un script care verifica
rezultatul de la `ipcs -as` si sterge cu ipcrm semafoarele care sunt
deschise de mai mult de 5 minute.
Probabil unul din modulele tale nu apeleaza semctl() cu flagul
IPC_RMID, pentru stergerea semafoarelor. Pina identifici care din ele
e vinovat si raportezi bug-ul, e relativ ok solutia ta, cu mentiunea
ca e posibil sa ai nevoie de respectivele semafoare pentru mai mult de
5 minute.
Post by Sergiu
--
Message made from 100% recycled electrons.
http://www.lamp.ro
http://www.regex.ro
http://www.nethelp.ro
________________________________________________________
To unsubscribe send a mail to rofug+unsubscribe-gQFem4m/***@public.gmane.org
Sergiu
2009-10-25 10:32:07 UTC
Permalink
Post by Vlad Galu
Probabil unul din modulele tale nu apeleaza semctl() cu flagul
IPC_RMID, pentru stergerea semafoarelor. Pina identifici care din ele
e vinovat si raportezi bug-ul, e relativ ok solutia ta, cu mentiunea
ca e posibil sa ai nevoie de respectivele semafoare pentru mai mult de
5 minute.
Da, ai dreptate. APC a fost instalat cu suport pentru semafoare. Am scos
modulul din extensions.ini si acum nu mai face probleme. O sa instalez 3.1.3
manual, ca in porturi vad ca am doar 3.0.9, sau poate incerc alt sistem de
cache.

Merci!
--
Message made from 100% recycled electrons.

http://www.lamp.ro
http://www.regex.ro
http://www.nethelp.ro
Vlad Galu
2009-10-25 10:35:35 UTC
Permalink
Post by Sergiu
  Probabil unul din modulele tale nu apeleaza semctl() cu flagul
IPC_RMID, pentru stergerea semafoarelor. Pina identifici care din ele
e vinovat si raportezi bug-ul, e relativ ok solutia ta, cu mentiunea
ca e posibil sa ai nevoie de respectivele semafoare pentru mai mult de
5 minute.
Da, ai dreptate. APC a fost instalat cu suport pentru semafoare. Am scos
modulul din extensions.ini si acum nu mai face probleme. O sa instalez 3.1.3
manual, ca in porturi vad ca am doar 3.0.9, sau poate incerc alt sistem de
cache.
Merci!
--
Message made from 100% recycled electrons.
http://www.lamp.ro
http://www.regex.ro
http://www.nethelp.ro
Incearca-l si pe acesta: http://trac.lighttpd.net/xcache/

________________________________________________________
To unsubscribe send a mail to rofug+unsubscribe-gQFem4m/***@public.gmane.org
Claudiu Chirita
2009-10-25 10:50:50 UTC
Permalink
Sau http://eaccelerator.net/

Claudiu
Post by Vlad Galu
Post by Sergiu
Post by Vlad Galu
Probabil unul din modulele tale nu apeleaza semctl() cu flagul
IPC_RMID, pentru stergerea semafoarelor. Pina identifici care din ele
e vinovat si raportezi bug-ul, e relativ ok solutia ta, cu mentiunea
ca e posibil sa ai nevoie de respectivele semafoare pentru mai mult de
5 minute.
Da, ai dreptate. APC a fost instalat cu suport pentru semafoare. Am scos
modulul din extensions.ini si acum nu mai face probleme. O sa instalez 3.1.3
manual, ca in porturi vad ca am doar 3.0.9, sau poate incerc alt sistem de
cache.
Merci!
--
Message made from 100% recycled electrons.
http://www.lamp.ro
http://www.regex.ro
http://www.nethelp.ro
Incearca-l si pe acesta: http://trac.lighttpd.net/xcache/
________________________________________________________
Sergiu
2009-10-25 10:58:05 UTC
Permalink
Am incercat xcache iar apoi l-am dezinstalat. Nu mai stiu ce nu mi-a placut
la el. Daca nu o scot la capat cu APC, incerc din nou.

eAccelerator il folosesc pe mai multe servere care au PHP ca DSO si sunt
foarte multumit, dar in cazul de fata PHP ruleaza cu mod_fcgid si apache
foloseste worker ca MPM si cum eAccelerator nu e "thread safe" nu as risca
sa ma trezesc cu alte surprize mai tarziu.

Merci de sugestii!
--
Message made from 100% recycled electrons.

http://www.lamp.ro
http://www.regex.ro
http://www.nethelp.ro
Stas SUSHKOV
2009-10-25 12:48:55 UTC
Permalink
Post by Sergiu
Am incercat xcache iar apoi l-am dezinstalat. Nu mai stiu ce nu mi-a
placut la el. Daca nu o scot la capat cu APC, incerc din nou.
eAccelerator il folosesc pe mai multe servere care au PHP ca DSO si
sunt foarte multumit, dar in cazul de fata PHP ruleaza cu mod_fcgid si
apache foloseste worker ca MPM si cum eAccelerator nu e "thread safe"
nu as risca sa ma trezesc cu alte surprize mai tarziu.
Merci de sugestii!
More or less eu sunt fan nginx și când nu vine vorba de a oferi multă
libertate end-user-ilor (să adauge ei module și vhost-uri manual), merg
pe acea cale.

Ai putea încerca nginx în locul apache-ului, iar acceleratoarele
actuale, mai toate pot fi conectate și la acesta.

Doar o altă părere...
Post by Sergiu
--
Message made from 100% recycled electrons.
http://www.lamp.ro
http://www.regex.ro
http://www.nethelp.ro
--
() Campania Panglicii în ASCII
/\ http://stas.nerd.ro/ascii/


________________________________________________________
To unsubscribe send a mail to rofug+unsubscribe-gQFem4m/***@public.gmane.org
Lucian
2009-11-06 07:31:38 UTC
Permalink
Post by Sergiu
Am incercat xcache iar apoi l-am dezinstalat. Nu mai stiu ce nu mi-a
placut la el. Daca nu o scot la capat cu APC, incerc din nou.
eAccelerator il folosesc pe mai multe servere care au PHP ca DSO si
sunt foarte multumit, dar in cazul de fata PHP ruleaza cu mod_fcgid si
apache foloseste worker ca MPM si cum eAccelerator nu e "thread safe"
nu as risca sa ma trezesc cu alte surprize mai tarziu.
Merci de sugestii!
More or less eu sunt fan nginx și când nu vine vorba de a oferi multă
libertate end-user-ilor (să adauge ei module și vhost-uri manual), merg
pe acea cale.
Ai putea încerca nginx în locul apache-ului, iar acceleratoarele
actuale, mai toate pot fi conectate și la acesta.
Doar o altă părere...
Post by Sergiu
--
Message made from 100% recycled electrons.
http://www.lamp.ro
http://www.regex.ro
http://www.nethelp.ro
--
() Campania Panglicii în ASCII
/\ http://stas.nerd.ro/ascii/
________________________________________________________
Sau pastreaza Apache mpm worker( <3 ) si foloseste php-fpm :)
Sau incearca sa compilezi APC fara "suport" pt apxs (e config option. Daca
nu rulezi php ca modul de apache nu vad ce treaba ar mai trebui sa aiba apc
cu apxs).

Loading...