So mal ein kleines Thema zu Apache worker vs prefork vs event, also welches man aktuell nehmen sollte. Zuerst kommen wir aber mal zu den Unterschieden und Geschichtliches zu Apache worker, prefork und event.
Apache Worker verwandelt Apache in einen Multiprozess-Webserver mit mehreren Threads. Im Gegensatz zu Prefork kann jeder unter Worker untergeordnete Prozess mehrere Threads haben. Daher kann Worker mehr Anfragen mit weniger Ressourcen bearbeiten als Prefork. Es war bzw ist also der Webserver für viele Besucher. Aber es gibt noch andere Alternativen.
Apache Prefork ist eigentlich der Standard bei Apache, hat aber den Nachteil das damit kein HTTP2 läuft. Jeder untergeordnete Apache-Prozess enthält einen einzelnen Thread und verarbeitet jeweils eine Anfrage.
Apache Event Jeder Prozess kann auch mehrere Threads enthalten, aber im Gegensatz zu Worker kann jeder mehrere Aufgaben ausführen. Mit Apache hat Event die geringsten Ressourcenanforderungen. Weiterer Vorteil ist die Kompatibilität mit HTTP2.
Welches nehme ich heute am besten? Apache worker, prefork oder event?
Unter Apache 2.2, also älteren Linux Distributionen nahm ich den Prefork. Er ist am kompatibelsten. Event war da noch Beta, unter Apache 2.4 ist es aber Stable und funktioniert ohne Probleme. Deswegen empfehle ich Apache Event!
Was ist eurer Favorit? Jetzt sacht nicht nginx rofl