Welcome, Guest. Please login or register.
+  Linux Soft Forum
|-+  Cercetează» Reţele, servere» Apache Child TTL
[Picture 161] [Picture 160] [Picture 159]
Username:
Password:
 
Pages: [1]   Go Down
  Print  
Author Topic: Apache Child TTL  (Read 585 times)
0 Members and 1 Guest are viewing this topic.
Saltwater
Veteran
**

Whatever™


WWW
« on: July 13, 2009, 07:40:08 PM »

Se dă următoarea problemă:
- un Apache 2.2-naiba-mai-știe-ce-versiune (ultima din repo-urile Lenny)
- prefork MPM
- da, am băgat o geană pe aici, http://httpd.apache.org/docs/2.2/mod/prefork.html

Șmecheria este următoarea: vreau să pot seta un TTL al child-ului de Apache în timp și eventual în funcție de resursele consumate, deși mă tem că Apache nu e atat de deștept (cel puțin nu în mod implicit). Știu că pot să îi dau să moară după X request-uri servite (sau moare din proprie inițiativă cu vreun segmentation fault și sufletul îi merge la Duhul Sfânt - dar asta e altă poveste). Chestia este că eu vreau să se relanseze un child dacă spre exemplu stă Y minute și freacă menta. Sau spre exemplu după ce termină de servit un request, dacă memoria alocată este mai mare de Z megi, să facă loc unei prospături.

În mare prima chestie este de altfel legată de a doua. Contextul problemei este un container OpenVZ cu 1 GiB RAM ce ruleaza un Apache 2.2 + PHP 5.2.6 de care atarna un phpMyAdmin - nu aici e problema, plus suport pentru WebDAV si SVN. Numărul repo-urilor din spate este irelevant, problema este faptul că am un repo mai barbar ca dimensiune (se apropie de 700 de megi cu tot cu branch-uri) iar la un checkout de 400 si ceva de megi nenea Apache+mana de module aferente problemei au un memory leak fantastic in sensul ca din 1024 megi se aloca 980 (vreo 60 papa Debi). Din varii motive nu vreau (incă) să migrez către svnserve (desi parca ar suna bine si prin svn+ssh), deci întreb: este vreo soluție la problema de mai sus?

PS: oricum vreau să migrez spre Git la un moment dat, dar nu acum este acel moment.
« Last Edit: July 13, 2009, 08:36:40 PM by Saltwater » Logged



Astazi nu am semnatura.
~Empathy~
Veteran
**

Decadence is Bliss...


« Reply #1 on: July 13, 2009, 07:46:33 PM »

N-am înțeles nimic.
Logged

gheorghe
Veteran
**


« Reply #2 on: July 13, 2009, 07:52:39 PM »

Habar n-am, daca nu scrie in documentatie oricum sansele sunt slabe sa poti face ceva. Ai putea sa treci tot setupul pe mpm worker?

P.S. sau solutia batraneasca, restart la apache din cron :D Ranjeste fasolea Graceful chiar, desi asa probabil ca pierzi conexiuni asteptand dupa altele sa termine, deci solutia si mai batraneasca de restart ne-graceful s-ar putea sa fie mai buna.
« Last Edit: July 13, 2009, 07:55:31 PM by gheorghe » Logged
classicmanpro
Veteran
**

Experientia docet!


WWW
« Reply #3 on: July 13, 2009, 08:41:53 PM »

Subscriu la ideea lui gheorghe ... Cred ca ar merge sa faci un script care sa dea un ps si sa verifici fiecare child...   Roll Eyes
Logged

Saltwater
Veteran
**

Whatever™


WWW
« Reply #4 on: July 13, 2009, 09:04:05 PM »

M-am gandit si la un DMD de ala gen Monit, dar asta e mai tantalau si banui ca in cazul in care il setez sa imi restarteze Apache la incarcare mare pe memorie, o sa ma trezesc ca imi crapa SVN-ul cand mi-e lumea mai draga. In fine, pana la urma cred ca merg pe graceful restart (aka un service apache2 reload - da, am service pe Debian Scoate limba). Ala din topor ce taie tot serverul nu ma coafeaza daca pleaca Apache fix atunci cand fac eu un commit, desi un cleanup+commit nu e tocmai raritate la cate cretinitati are SVN.

Nu stiu cat de 'thread safe' e MPM Worker pentru modulele de PHP (core-ul e thread safe). Iar daca este, nu stiu cum se impaca cu memory leak-ul. Nu am mai folosit MPM Worker din motivele de thread safety de care vorbeam mai sus. Prefer un segfault per proces si sa imi pice un client decat un segfault ce sa imi pice 20 de clienti (exemplu) - dar asta pe servere de productie cu load pe masura. As putea sa separ container-ul ce tine repo-urile de cel ce tine phpMyAdmin-ul, dar implica munca de care n-am chef acum.
Logged



Astazi nu am semnatura.
Pages: [1]   Go Up
  Print  
 
Jump to: