Apache mpm - studio de soluții deschise o-nix

Apache mpm - studio de soluții deschise o-nix

Modulul Apache MPM reprezintă modulul de procesare multiplă Apache, ceea ce înseamnă "modul de procesare multiproces". În mod obișnuit, Apache implicit utilizează modulul prefork MPM.

Puteți determina modulul Apache MPM utilizat de următoarea comandă:

Sau pe sisteme precum Debian, unde serverul este numit apache2:

Luați în considerare configurația parametrilor modulului Apache MPM prefork. pe baza cantității de memorie RAM pe gazdă. Definiți dimensiunea medie a memoriei ocupată de un proces Apache:

Pe sistemele în care serverul Apache este reprezentat de daemonul apache2. înlocuiți linia httpd cu apache2.

Comanda va arăta cantitatea totală de memorie consumată de toate procesele Apache și cantitatea medie de memorie per proces. exemple:

În distribuții precum Debian:

Este mai bine să executați această comandă de mai multe ori și este de dorit când serverul dvs. va fi sub sarcină maximă pentru a determina valorile medii la încărcare.

Acum, cunoscând cantitatea medie de memorie utilizată de serverul Apache și știind cantitatea de memorie fizică, puteți calcula valoarea MaxClients. care este specificat în fișierul de configurare al serverului Apache httpd.conf.

Să presupunem că aveți 1 GB de memorie RAM pe serverul dvs. VPS sau VDS și doriți să lăsați 512 MB pentru alte procese, oferind serverului Apache 512 MB.

Echipa anterioară a dat rezultatele:

Ie un proces Apache are o medie de 10 MB de memorie. Definiți valoarea MaxClients:

MaxClients = Cantitatea totală de memorie pentru Apache / Cantitatea de memorie per proces

MaxClients = 512MB / 10MB = 50.

Acum știm valoarea cea mai importantă a parametrului modulului Apache MPM prefork. care specifică numărul maxim de procese copil, astfel încât toată RAM nu este "mâncată", ci doar o parte din ea (în exemplul nostru - jumătate, egală cu 512 MB).

Vom introduce datele în fișierul de configurare al modulului prefork Apache MPM, aflat de obicei în calea /etc/httpd/conf/httpd.conf:

O scurtă descriere a parametrilor Apache MPM Prefork:

StartServers - numărul de procese copil create atunci când serverul este pornit.

MinSpareServers - numărul minim de procese ale serverului copil neutilizat (de rezervă) care așteaptă cereri potențiale.

MaxSpareServers - numărul maxim de procese de rezervă care așteaptă cereri potențiale. Dacă acest număr este depășit, procesele în exces vor fi ucise.

MaxClients - cel mai important parametru al modulului prefork MPM, stabilește limita superioară a numărului de procese active simultan. Este vorba despre consumul de memorie. Valoarea sa suprascrie valoarea parametrilor anteriori.

ServerLimit este, de obicei, MaxClients.

MaxRequestsPerChild - cât de des serverul procesează procesele, ucigând cele vechi și pornind (pornind) altele noi. Este util pentru scurgerea de memorie a Apache și a bibliotecilor sale.

KeepAlive - oferă sesiuni HTTP de lungă durată, permițându-vă să trimiteți mai multe solicitări prin aceeași conexiune. Util pentru a porni dacă paginile conțin multe imagini.

De asemenea, există un bun scriptcheck_httpd_limits.pl. scris în Perl, permițându-vă să determinați cât de multă memorie are procesele serverului Apache. Scriptul emite avertismente (sau erori) dacă limitele de memorie setate în configurația Apache depășesc memoria disponibilă pe server.

Distribuie în rețelele sociale: