ugrás a tartalomhoz

Apache mpm_prefork

divatparaszt · 2007. Aug. 9. (Cs), 15.57
Szasztok,


a következő dolognál akadtam el.

Adott egy apache 2.2.4 win2003-on, a httpd.conf-ban van ez a mpm_prefork szakasz:

<IfModule mpm_prefork_module>
StartServers 16
MinSpareServers 16
MaxSpareServers 64
MaxClients 500
MaxRequestsPerChild 100000
</IfModule>

És ha jól látom ez akkor lesz érvényes ha betöltődött a mpm_prefork modul. Nekem nincs ilyen és nem is nagyon reagál az apache a fenti sorok módosítására. Ha az IfModule rész nélkül adom meg neki a fentieket akkor el sem indul.

Valaki világosítson már fel, hogy is működik ez. Van egy web oldalam ami nagyon megfogja a nem gyenge szervert.


Köszi a válaszokat, előre is.
üdv.
 
1

Modul beazonosítás

Heilig Szabolcs · 2007. Aug. 9. (Cs), 17.31
Ha a httpd-t (vagy apachectl vagy ahogy ott hívják épp) -l kapcsolóval hívod meg, kiírja a betöltött modulokat. Onnan megtudhatod, melyik mpm él. Innen tudni fogod, melyik mpm blokkjába kell nyúlnod.
2

RE

divatparaszt · 2007. Aug. 9. (Cs), 18.27
Hát ez az:

Compiled in modules:
core.c
mod_win32.c
mpm_winnt.c
http_core.c
mod_so.c

Windows alá ugyebár ezek lennének:

<IfModule mpm_prefork_module>
és
<IfModule mpm_worker_module>

Na most nekem egyik sincs... Ilyenkor mi van?
3

Próbaképp talán

Heilig Szabolcs · 2007. Aug. 9. (Cs), 18.46
<IfModule mpm_winnt>
... dolgok ide ...
</IfModule>


Bár tudomásom szerint ezek a beállítások nem kötöttek, azaz IfModule-on kívül is vígan el kellene lenniük. Próbáld ismét IfModule nélkül és keresd meg az apache-od error.log-ját, oda kell panaszkodnia, miért nem indul.
4

RE

divatparaszt · 2007. Aug. 9. (Cs), 20.11
Sajna IfModul nélkül nem indu, logot sem tud írni, annyira nem indul el :)

Amit viszont írtál (<IfModule mpm_winnt>) azzal elindul, csak szintén nem veszi figyelembe a tartalmát.
Ez van a logban:
[Thu Aug 09 20:07:26 2007] [notice] Apache/2.2.4 (Win32) PHP/5.2.3 configured -- resuming normal operations
[Thu Aug 09 20:07:26 2007] [notice] Server built: Jan 9 2007 23:17:20
[Thu Aug 09 20:07:26 2007] [notice] Parent: Created child process 1604
[Thu Aug 09 20:07:27 2007] [notice] Child 1604: Child process is running
[Thu Aug 09 20:07:27 2007] [notice] Child 1604: Acquired the start mutex.
[Thu Aug 09 20:07:27 2007] [notice] Child 1604: Starting 64 worker threads.
[Thu Aug 09 20:07:27 2007] [notice] Child 1604: Starting thread to listen on port 80.

És ez a configban:
<IfModule mpm_winnt>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 250
ThreadsPerChild 75
MaxRequestsPerChild 0
</IfModule>

A ThreadsPerChild-ot nem veszi figyelembe például. A többit nem tudom hogyan lehetne tesztelni. Mondjuk a feladatkezelőben is 2 httpd process látszik, itt pedig 5-nek kellett volna indulni. Nem tudom mi lehet...