Apache httpd worker/prefork (max connections)

Üdv!
Az apache-ban nem látom alapból külön-külön a prefork/worker konfigot mint pl. korábban.

~# httpd -l
Compiled in modules:
core.c
mod_so.c
http_core.c

A prefork használata a stabilabb most is? Ha jól látom ez az alapértelmezett.

Hozzászólások

Én worker+PHP-FPM -et használok már, jól megy. Debianon eleve másik csomag a kettő, ezért nem látszik szerinem külön.

A topik nyitó valószínűleg nem Gentoo-t használ, csak a pontosítás kedvéért: Gentoo alatt a make.conf-ban a APACHE2_MPMS="" prefork/worker/event beállításával választható, hogy melyik mpm-et támogatja majd az apache. Továbbá az egyes mpm-ekre vonatkozó beállítások a /etc/apache2/modules.d/00_mpm.conf-ban adhatók meg.
Egyébként worker-t használok, ami régen hadilábon állt a thread-ekkel, de mostanra nincs semmi gond.
Disztrónként eltér, hogy a konfig hogyan van struktúrálva és az apache verzió sem mindegy.

"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."

Eleg regota worker + valamilyen cgi. Nem volt eddig gondom vele.

Fedora 26, Thinkpad x220

Elsősorban PHP:
PHP+FPM

yum -y install php-fpm

vi /etc/httpd/conf.d/php.conf
< FilesMatch \.php$ >
# SetHandler application/x-httpd-php
SetHandler "proxy:fcgi://127.0.0.1:9000"
< /FilesMatch >

systemctl start php-fpm
systemctl enable php-fpm
systemctl restart httpd

# Teszt: echo '<?php phpinfo(); ?>' > /var/www/html/info.php

-l : list compiled in modules
vs.
-t -D DUMP_MODULES : show all loaded modules

Amugy nem irtad milyen apache verzio (2.2, 2.4, egyeb?), bar az se tiszta ennyibol nekem hogy modulkent nem latod vagy konfigban a beallithato parametereket nem latod prefork/worker/stb-hez.

Egyebkent worker-t es event-et szoktak mar ujabban ajanlani, kevesebbel beeri mint a prefork es konktrollaltabban, de ha nem akarsz egzotikusabb dolgok miatt szivni pl php-fpm fcgi proxy-val apache auth tovabbadas php-nak es tarsai akkor maradj prefork-nal.

Ha korlátozni kell az apache/httpd egyidejű kapcsolatainak számát, akkor a MaxClients adja ezt meg, ha jól olvasom a doksit?
Pl. max. 256 ill. 150 egyidejű kapcsolat:

< IfModule prefork.c >
StartServers 5
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
< /IfModule >

< IfModule worker.c >
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
< /IfModule >