Superserver

Prinzip eines Superservers

Ein Superserver ist ein Serverprozess, der viele Ports überwacht und beim Eintreffen eines Client-Requests den zuständigen Serverdienst startet. Hat dieser Server seine Aufgabe für diese Anfrage erledigt, wird er beendet.

Inetd ist ein bekanntes Beispiel für einen Superserver bei Unix-Systemen. Die Zuordnung der Netzwerkdienste zu den Portnummern erfolgt in der Datei /etc/services.

Vorteile

Im klassischen Ansatz überwacht ein Serverprozess einen Port. Bei vielen Ports sind also viele Prozesse im Wartezustand und verbrauchen dabei Systemressourcen, vor allem Arbeitsspeicher. Beim Superserver-Ansatz wird nur der vergleichsweise kleine Server vorgehalten, was weniger Arbeitsspeicher bei inaktiven Serverdiensten benötigt.

Viele Superserver sind dahingehend konfigurierbar, dass

Zudem ermöglicht der Superserver eine vereinfachte Programmierung der Serverdienste, da er für jede eingehende Verbindungsanforderung einen eigenen Prozess startet. Der Programmierer braucht sich um diese Einzelheiten innerhalb seines Programmes nicht zu kümmern.

Nachteile

Für das Starten des jeweiligen Servers wird Zeit benötigt, was die Reaktionszeit bis zur Verfügbarkeit des Netzwerkdienstes entsprechend erhöht. Bei vielen kurzen Verarbeitungen wird auf dem System dadurch mehr Last generiert als mit einem bereits wartenden Verarbeitungsprozess.

Siehe auch

Literatur