Apache mpm - nyílt megoldások stúdiója o-nix

Az Apache MPM modul Apache Multi-Processing Module-nak felel meg, ami többprocesszoros feldolgozó modult jelent. Az alapértelmezett Apache az MPM prefork modult használja.
Meghatározhatja, hogy az Apache MPM melyik modulját használja a következő parancs:
Vagy olyan rendszereken, mint a Debian, ahol a kiszolgáló neve apache2:
Tekintsük az Apache MPM prefork modul paramétereinek konfigurációját. a befogadó RAM mennyiségén alapulva. Határozza meg az egy Apache folyamat által elfoglalt átlagos memória méretét:
Olyan rendszereken, ahol az Apache szervert az apache2 démon képviseli. cserélje ki a httpd parancsot az apache2-vel.
A parancs megmutatja az összes Apache folyamat által felhasznált memóriát és az átlagos folyamatmennyiséget. példák:
Az olyan disztribúciókban, mint a Debian:
Jobb végrehajtani ezt a parancsot többször is, és kívánatos, ha a kiszolgáló maximális terhelés alatt meghatározza a terhelés alatt álló átlagos értékeket.
Most, tudva az Apache szerver által használt átlagos memóriamennyiséget, és a fizikai memória mennyiségének ismeretében kiszámíthatja a MaxClients értékét. amely az Apache szerver httpd.conf konfigurációs állományában van megadva.
Tegyük fel, hogy 1 GB RAM van a VPS vagy VDS kiszolgálón, és 512 MB-ot szeretne hagyni más folyamatokhoz, így az Apache kiszolgáló 512 MB.
Az előző csapat adta az eredményeket:
Ie egy Apache folyamat átlagosan 10 MB memóriát vesz igénybe. Határozza meg a MaxClients értékét:
MaxClients = Az Apache teljes memóriája / A memória mennyisége folyamatonként
MaxClients = 512 MB / 10 MB = 50.
Most már tudjuk az Apache MPM prefork modul paraméterének legfontosabb értékét. amely meghatározza a gyermekprocesszorok maximális számát úgy, hogy az összes RAM nem "evett", hanem csak egy része (példánkban - fele, egyenlő 512 MB-val).
Adjuk meg az adatokat az Apache MPM prefork modul konfigurációs fájljában, amely általában az /etc/httpd/conf/httpd.conf elérési útján található:
Az Apache MPM Prefork paramétereinek rövid leírása:
StartServers - a kiszolgáló indításakor létrehozott gyermekfolyamatok száma.
MinSpareServers - a nem használt (tartalék) gyermekszerverek minimális száma, amelyek a potenciális kérésekre várnak.
MaxSpareServers - a potenciális kérésekre váró tartalék folyamatok maximális száma. Ha ezt a számot túllépték, a felesleges folyamatok meg fognak ölni.
A MaxClients - az MPM prefork modul legfontosabb paramétere, beállítja az egyidejűleg aktív folyamatok számának felső határát. A memóriafelhasználás függ. Az értéke felülírja az előző paraméterek értékét.
A ServerLimit általában MaxClients.
MaxRequestsPerChild - mennyire gyakran szervezi a folyamatokat a folyamatok feldolgozása, a régiek megölése és az újak indítása. Hasznos az Apache és annak könyvtárai memória szivárgásának.
A KeepAlive - hosszú távú HTTP-munkameneteket biztosít, lehetővé téve több kérés küldését ugyanazon a kapcsolaton keresztül. Hasznos lehet bekapcsolni, ha az oldalak sok képet tartalmaznak.
Szintén van egy jó scriptcheck_httpd_limits.pl. Perl-ben írva, így meghatározhatja, hogy az Apache szerver mennyi memóriát vesz igénybe. A szkript figyelmeztetéseket (vagy hibákat) bocsát ki, ha az Apache konfigurációban beállított memóriahatárok meghaladják a szerveren rendelkezésre álló memóriát.