Hallo MichaelB,
Wie auch immer, es lohnt sich trotzdem, den Apachen abzuspecken, da auch der Speicher der
Module mitkopiert werden muss. Auch wenn das on demand passiert, es muss geschehen.
Sind die Module eigentlich quasi mit einkompiliert oder werden sie on-demand geladen? Im
letzteren Fall würde durch zusätzliche Module beim forken kein Overhead entstehen.Weder, noch. Man kann sie statisch mit einkompilieren, man kann sie aber auch dynamisch
laden lassen. Allerdings werden die Module beim Startup geladen.
Also sind sie quasi einkompiliert.Das dachte ich mir schon.
Nene. Das macht schon einen Unterschied.
[...]
Ich habe aber behauptet, daß der Apache aber nicht so vorgeht sondern DB-Handles und
andere Resourcen immer von Kindprozessen des httpd geöffnet werden wärend der
Vaterprozess von dem die forks erzeugt werden natürlich keine offnen Handles hat.
Dementsprechend hat der Apache auch kein Problem mit Resourcen (wie DB-Handles) beim
forken.Das hängt davon ab, wie das Modul, dass diese Ressourcen benutzt, programmiert ist.
Prinzipiell kann das Modul auch vor dem fork() bereits Ressourcen allokieren.
Prinzipiell natürlich schon. Aber in der Regel sollte man das nicht tun, um die schon
besprochenen Schwierigkeiten beim forking zu vermeiden.
Sag das nicht mir ;-) Ich habe es ja dir erklärt *g*
Kann ja auch Fälle geben, wo dass Sinn macht. Da muss man natürlich immer abwägen.
Das dürfte eigentlich immer in 'undefined behavior' enden...
Alles in Hinblick auf die Ausgangsdiskussion in der es darum ging ob sich ein dedizierter
Apache lohnt (weil beim forken zuviel Overhead entsteht) oder nicht. Und ich war eben
der Meinung so groß ist der Resourcenverbrauch nicht als das sich ein abgespeckter Apache
lohnt.Das tut es in jedem Fall. a) wegen des gerigeren Aufwands beim fork()
und b) wegen des geringeren Speicherverbrauchs.
Um es nochmal zu wiederholen: Bei dem Ausgangspunkt der Diskussion ging es darum auf
ein und der selben Maschine zwei Apaches laufen zu lassen. Ein abgespeckten für
statische Seiten der dann ggf. die Anfragen mit Skripten an den zweiten
Apache (mit PHP, Datenbank usw.) weiterreicht. Und ich habe da so meine Zweifel, ob
sich das wirklich lohnt vom Resourcenverbrauch und der Geschwindigkeit.
Prinzipiell durchaus, wie gesagt. Das wurde durch Benchmarks ja durchaus auch schon
bewiesen. Nein, ich habe leider gerade keinen Link parat.
Grüße,
CK
Ganz gleich, welchen Weg ich wähle, ich kehre heim.