Apache worker vs prefork vs event

  • 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

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • Als Anmerkung: mpm_worker kann auch HTTP2. Der Unterschied ist nur die Art, wie Kind-Prozesse aufgebaut werden. Bei "Worker" bleiben sie offen, auch wenn sie nicht benutzt werden. Bei Event werden sie erst erstellt, wenn eine Anforderung da ist und dann auch wieder gelöscht. Zudem verarbeitet Event "kept-alive" anders. Dort hat das einen eigenen Prozess zur Steuerung, bei Worker macht das jeder selbst.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • naja Worker fällt halt raus, da nicht so performant. Ich habe da schon mit Event geliebäugelt. So soll es dann auch sein. Prefork war bzw ist dann halt ( noch ) Standard. Apache Event ... ist dann einfach besser auch in meiner Kombi.

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!