Super server
A superserver is a server process that monitors many ports and starts the responsible server service when a client request is received. If this server has done its job for this request, it will be terminated.
Inetd is a well-known example of a super server in Unix systems. The network services are assigned to the port numbers in the / etc / services file .
advantages
In the classic approach, a server process monitors a port. With many ports, many processes are in the waiting state and use system resources, especially memory. With the superserver approach, only the comparatively small server is kept available, which requires less memory for inactive server services.
Many superservers are configurable to
- Access is only possible from certain addresses,
- Services can be started under certain users,
- Threshold values for started processes can be set absolutely as well as per time.
In addition, the superserver enables simplified programming of the server services, as it starts a separate process for each incoming connection request. The programmer does not need to worry about these details within his program.
disadvantage
Time is required to start the respective server, which increases the response time until the network service is available. If there are many short processing operations, more load is generated on the system than with a processing process that is already waiting.
See also
literature
- Andrew S. Tanenbaum , Marten Van Steen: Distribute Systems - Principles and Paradigms . Pearson Prentice Hall , Upper Saddle River 2007, ISBN 0-13-239227-5 .