A super server is a server process, it monitors the arrival of a client request and starts the appropriate server service. Inetd, a super server daemon is a prominent example of a super server for Unix systems. The assignment of network services is subject to the port numbers in the file / etc / services.
In the classical approach the server monitors a process to a port. If there are many ports, many processes will be in the waiting list and thereby will consume system resources, especially the memory. In super server approach, only the relatively small servers will be maintained, which requires less memory when idle server services.
Advantages of Super Server
Many super server is configured so that –
- Requests from certain addresses are processed
- Services can be started to certain users in case of super server
- Thresholds can be set for processes started in absolute terms and per unit time
In addition, super server allows a simplified programming of server services, as it starts each incoming connection request is a separate process.
Disadvantages of Super Server
Start of the super server is time consuming, which increases the reaction time according to the availability of network service.
Processes of Super Server
In case of a super server, a single process is responsible for all the connections, cache is shared. It is efficient in terms of resource consumption, if the number of simultaneous connections grows to a huge.
Local connections of Super Server
In Linux, the local connections are on the network layer. Only the server process needs access rights to the database file.
Multi core processors and super server
On multi core processor machines which are running Windows performance may even deteriorate, because the operating system switches the process between the CPUs.
Certain parts of this article on Super Server has been adapted from Distribute Systems – Principles and Paradigms ; Andrew S. Tanenbaum , Marten Van Steen; Pearson Prentice Hall , Upper Saddle River, 2007, ISBN 0-13-239227-5.