Salex, articole, configurarea apache prefork în

Modulul de procesare multiplă (MPM) este un server de web neflexibil, pre-ramificat, care gestionează interogări precum Apache 1.3. Acest lucru este necesar pentru a asigura compatibilitatea cu bibliotecile.






De asemenea, este cel mai bun MPM pentru izolarea fiecărei solicitări, astfel încât problema cu o singură interogare să nu fie afectată de nicio altă problemă.
MPM prefork este foarte autonom și rareori este nevoie să-i schimbi setările de la implicit.
Parametrul cel mai important al MPM prefork este MaxClients!

CUM FUNCTIONEAZA:
Există un singur proces principal (părinte) care este responsabil pentru crearea proceselor copil, care, la rândul său, asculta relațiile și procesează solicitările clientului. Apache încearcă întotdeauna să păstreze în rezervă câteva procese de server neutilizate, care sunt gata să proceseze cererile primite.
Astfel, clienții nu ar trebui să aștepte crearea unor noi procese copil care vor fi ramificate înainte ca cererea lor să fie întreținută.
Directivele StartServers. MinSpareServers. MaxSpareServers și MaxClients reglează modul în care procesul părinte creează procese copil la cererile de servicii.

În general, Apache este foarte autonom, astfel încât pentru majoritatea site-urilor web nu este nevoie să modificați aceste ajustări față de valorile implicite.

Pentru site-urile care trebuie să deservească mai mult de 256 de cereri simultane ar putea fi necesar pentru a crește MaxClients, și pentru site-urile care sunt pe un server de memorie limitate, poate fi necesar pentru a reduce valoarea MaxClients, nu pentru a aduce serverul la SWAPO de memorie necesară pentru disc (schimbarea de memorie pe disc și înapoi), ceea ce va duce la încetinirea gravă a muncii.


Aproape la începutul fișierului principal de configurare httpd.conf, vedem următoarele:

# TimeOut: Numărul de secunde înainte de primirea și expedierea.
TimeOut 300

# KeepAlive: Dacă doriți sau nu să permiteți conexiuni persistente (mai mult de
# o cerere pe conexiune. Setați la "Dezactivat" pentru a dezactiva.
KeepAlive On

# MaxKeepAliveRequests: Numărul maxim de solicitări pentru a permite
# în timpul unei conexiuni persistente. Setați la 0 pentru a permite o sumă nelimitată.
# Vă recomandăm să lăsați acest număr mare, pentru o performanță maximă.
MaxKeepAliveRequests 100

# KeepAliveTimeout: Numărul de secunde de așteptare pentru următoarea solicitare de la
# același client în aceeași conexiune.
KeepAliveTimeout 15

## Reglementarea dimensiunii serverului (MPM specific)

# prefork MPM
# StartServers: numărul de procese server pentru a începe
# MinSpareServers: numărul minim de procese server
# MaxSpareServers: numărul maxim de procese server
# ServerLimit: valoarea maximă pentru MaxClients pentru durata de viață a serverului
# MaxClients: numărul maxim de procese server permis să înceapă






# MaxRequestsPerChild: numărul maxim de solicitări pentru un proces server

Acum pentru fiecare ajustare.

Timpul de expirare (în secunde) înainte de o încercare de primire sau de expediere emite un mesaj de expirare.

Sunt permise conexiunile permanente? Pentru ao dezactiva, selectați Dezactivat.

Conexiune persistentă (conexiune persistentă, păstrați în viață) - tipul conexiunii virtuale dintre server și client, în care serverul poate difuza mai multe solicitări din partea aceluiași client în aceeași conexiune, adică care nu se termina imediat, de îndată ce serverul a servit prima solicitare a clientului pentru care sa stabilit această conexiune și așteaptă ca cererile suplimentare să fie primite prin același canal.

Numărul maxim de solicitări pentru o singură conexiune persistentă.

O valoare de 0 elimină restricțiile (este permis un număr nelimitat de solicitări).
Se recomandă o valoare ridicată pentru o performanță maximă.

Întârzierea (în secunde) a următoarei solicitări de la același client în cadrul aceleiași conexiuni persistente.

Directiva StartServers stabilește numărul proceselor copilului. create la pornirea serverului.
Deoarece numărul de procese se modifică dinamic în funcție de sarcină, de obicei nu este necesar să configurați acest parametru.

Directiva MinSpareServers stabilește numărul minim dorit de procese copil server * neutilizate.
Dacă procesele libere sunt mai mici decât valoarea MinSpareServers, procesul parental creează noi procese copil cu o frecvență maximă de 1 pe secundă.

Setarea acestei opțiuni este necesară numai pe site-urile foarte ocupate.
Creșterea acestui parametru la un număr mare este aproape întotdeauna o idee rea!

Directiva MaxSpareServers stabilește numărul maxim dorit de procese copil server * neutilizate.

Dacă există mai mult decât MaxSpareServers de procese neutilizate, atunci procesul părinte va ucide cele extra.

Setarea acestei opțiuni este necesară numai pe site-urile foarte ocupate. Creșterea acestui parametru la un număr mare este aproape întotdeauna o idee rea!
Dacă încercați să setați o valoare mai mică decât MinSpareServers, atunci Apache îl va aloca automat la MinSpareServers + 1.

Pentru MPM prefork, această directivă stabilește valoarea MaxClients maximă pentru durata de viață a procesului serverului Apache.

Folosind această directivă, fiți deosebit de atenți!
Dacă valoarea ServerLimit este setată mult mai mare decât este necesar, atunci va fi utilizată o memorie partajată gratuită (alocată, alocată).
Dacă ServerLimit și MaxClients sunt setate mai sus decât sistemul poate gestiona, Apache poate să nu pornească sau sistemul devine instabil.

Utilizați această directivă cu MPM prefork numai dacă doriți să setați MaxClients mai mare de 256 (implicit).
Nu setați valoarea acestei directive la ceva mai mare decât valoarea stabilită în MaxClients.

Acesta este cel mai important parametru al MPM prefork, care specifică numărul maxim de procese copil. care va fi permis să ruleze (care va fi creat pentru a procesa cererile).

Valoarea este setată pentru a face față mai multor solicitări simultan și mai mică pentru a reduce consumul de memorie!

Cât de mult specificați în această ajustare, atât de mult și veți avea procese de așteptare pentru execuție.

Gestionează cât de des serverul procesează procesele. uciderea celor vechi și pornirea celor noi, adică specificați numărul de cereri pe care procesul copilului le poate procesa înainte de depășire.

Această directivă este utilă pentru a evita problemele legate de munca continuă pe termen lung, dacă Apache (sau bibliotecile pe care le utilizează) permite scurgerea memoriei sau a altor resurse, deoarece procesul copilului va fi forțat să se finalizeze atunci când acesta se revarsă.
În majoritatea sistemelor acest lucru nu este necesar, dar unii suferă scurgeri semnificative în biblioteci.
Setarea valorii la 0 elimină restricțiile.

Pentru interogările KeepAlive. Numai prima cerere este luată în considerare la limita MaxRequestsPerChild. De fapt, aceasta schimbă efectul limitării numărului de linkuri către procesul copilului.

NOTĂ:

Un proces neutilizat (inactiv) este unul care nu se ocupă de cerere.







Articole similare

Trimiteți-le prietenilor: