Configurarea apache prefork în, leon1010

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:

Acum, în ordinea fiecărei ajustări ...

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

KeepAliveOn (implicit)
Sunt permise conexiunile permanente? Pentru ao dezactiva, selectați Dezactivat.
Compus persistent (conexiune persistentă, keepalive) - tipul de conexiuni virtuale între server și client, în care serverul poate servi mai mult de o cerere din partea aceluiași client ca parte a aceluiași compus, 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.







MaxKeepAliveRequests100 (implicit)
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ă.

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

StartServers5 (implicit)
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.

MinSpareServers5 (implicit)
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 proastă!

MaxSpareServers10 (implicit)
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.

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.

MaxRequestsPerChild10000 (implicit)
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.

Așadar, prin ajustarea valorilor acestor ajustări, puteți obține o creștere semnificativă a vitezei site-ului dvs. sau, dimpotrivă, încetiniți-l și provocați instabilitate în sistem. :)
Mult noroc!







Articole similare

Trimiteți-le prietenilor: