Apache2 config, lehető legjobb teljesítmény

Van egy szerver kb 100-150 kissebb weboldal van rajta hosztolva + ezeknek a levelezése. A vas egy 2,7Ghz körüli HP szerver 1G-rammal sata vinyókkal. A gond az hogy nagyon magas a load. Ha az apache-ot leallitom akkor lemegy 1 alá, de apache-al van hogy felmegy 30-40 fölé is. Apache konfiggal probálok jatszani.


MaxKeepAliveRequests 100
<IfModule prefork.c>
StartServers        5
MinSpareServers     5
MaxSpareServers     10
MaxClients          20
MaxRequestsPerChild 0
</IfModule>

Ezzel a beallitassal lemegy a load 1-2-re, csak éppen sokat kell várni a weboldalakra. Ha feljebb veszem a StartServers (7) és a MaxClients-t (100-200) akkor gyorsabbnak tunik ugyan a böngészés viszony folyamatosan megy fel a load es fél-1 óra mulva már használhatatlan lesz. Apache dokkumentációval és próbálgatással nem jutottam előrébb. Tipp?

Hozzászólások

Szia!

Ha erdekel... Free hosting serveren hasznalom epp ezt a beallitast (3200+ AMD64, 2 GB RAM, Apache2) :

KeepAlive On
Timeout 10
MaxKeepAliveRequests 500
KeepAliveTimeout 5
MinSpareServers 30
MaxSpareServers 100

StartServers 100
MaxClients 256
ServerLimit 256
MaxRequestsPerChild 1000

Ezen a gepen olyan 20 - 40 request per sec van load az 4 - 7 kozott van altalaban ...
Figyeld hogy ha swapol a gep es ha nagyon akkor rakni kellene meg bele memet. Btw erdemes valamilyen stat progit felrakni (munin stb...). Szoksor hasznos.

Na sok szerencset ;)

szerk: MaxRequestsPerChild 1000 <--- ez halalos is lehet szoval probald allitgatni hogy eppen gors legyen mert ha hirtelentul sok request jon akkor annyira felmegy a load hogy nem tudsz hozzaferni a gephez ... csokkentsd optimalisra

Ha P4-es architektúra, akkor eléggé nagy a válaszideje. Munin-nal érdemes monitorozni hogy egyszerre mennyi apache-od fut és mennyi memóriát zabálnak. A MySQL-es slow queryket is naplózod gondolom.

A startservers és ehhez kapcsolódókat pedig ehhez hangold imho. Nálunk csúcsidőben 50-60 párhuzamos aktív apache szál fut és szinte load nélkül viszi az X2100-unk, amiben csak 2G memó van, viszint kétmagvas.

szvsz MaxKeepAliveRequest-re a 100 keves. meg az 500 is - bar ez erosen fugg attol, milyen oldalakat hostolsz -, novelesevel valamelyest csokkenteni tudod a loadot. viszont amivel en hatalmas teljesitmeny novekedest ertem el, az az volt, h a lecsupaszitott apache2-met lecsereltem lighttpd-re. masodpercenkent ugyanaz a vas kb 2x annyi oldalt szolgal ki apachebench szerint, holott a ket konfig beallitasra megegyezik (php5,eaccelerator,suhosin,stb..) SOT, a lighttpd meg az apache2 mellett futva is ezt a sebesseget hozta...

Meg sokat segithet egy nagyon terhelt, server eseten a tcp parameterek tunningja, foleg a TIME_WAIT ben -ben levo socketek timeoutja. Egy terhelt serveren akar tobb szaz-ezer ilyen is lehet, nekem ezzel sikerult feleznem a load-ot. Mar nem emlekszem a beallitasokra, de egy kis guglizassal konnyen megtalalhato.

Ja amit elfelejtettem hogy en eacceleratort is hasznalok ami egy php cacher ... Bar van meg sok mas pl.: APC
Nekem az eaccelerator jott be ...

Udv
Aron