DSO-Vorteil in Apache

1

Ich habe eine Frage zu dynamisch ladbaren Modulen. Angenommen, ich habe zwei virtuelle Hosts und habe <LoadModule>nur einen davon verwendet. Wird dieses Modul nicht auf dem zweiten virtuellen Host geladen?

Ich versuche zu verstehen, wo der DSO-Vorteil (Dynamic Shared Objects) zum Tragen kommt. Wenn das Modul im Bereich der primären Serverebene geladen ist, scheint es keinen Grund zu geben, keine statische Bindung zu verwenden. Habe ich recht?

Joel
quelle

Antworten:

0

Sie laden das Modul in den Apache-Prozess und nicht in einen bestimmten virtuellen Host. Die Anweisung "LoadModule" kann nur im Kontext "Server-Konfiguration" ("global") verwendet werden und wirkt sich auf alle Prozesse aus, die vom ersten Apache-Prozess ausgelöst werden.

Die Hauptvorteile der Verwendung von DSOs sind: (a) Sie können zusätzliche Module hinzufügen, ohne Apache neu erstellen zu müssen, und (b) Sie können nur die Module laden, die Sie tatsächlich verwenden, wodurch der Speicherbedarf von Apache möglicherweise geringfügig verringert wird. Distributoren mögen DSOs, weil sie alle Funktionen modular zur Verfügung stellen können. Wenn Sie Ihren eigenen Apache erstellen UND stabile Anforderungen haben, gibt es keinen Grund, nicht alles statisch zu erstellen. Es kann sogar vorkommen, dass die Startzeiten etwas kürzer sind, da keine dynamische Bindung stattfindet, dies ist jedoch normalerweise nicht relevant (da Apache in der Regel ein langlebiger Prozess ist, ist die Startzeit nicht besonders wichtig).

larsks
quelle
Vielen Dank für die Antwort. Klar geklärte Sachen für mich! Nur eine letzte Sache, was den Ladevorgang betrifft. Das Laden selbst erfolgt erst beim Start, oder? Es wird nicht für jeden neuen Prozess geladen.
Joel
Das ist richtig.
Larsks