Super server

from Wikipedia, the free encyclopedia
Principle of a 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