Considerations for multiple servers sharing a TCP port

For a TCP server application to support a large number of client connections on a single system while providing good performance for those connections, it might be necessary to run more than one instance of the server application to service the connection requests. For all instances of the server application to receive client connection requests without changing the client applications, the servers must all bind to the same server IP address and port. To enable this in the TCP/IP stack, you must add the SHAREPORT or SHAREPORTWLM keyword to the PORT profile statement that reserves the TCP port for the server instances. For more detailed information on the PORT statement and its keywords, see z/OS Communications Server: IP Configuration Reference.

The set of server instances sharing the same TCP port on the same TCP/IP stack is called a shareport group. As incoming client connections arrive for this port and IP address, TCP/IP distributes them across the servers in the shareport group.

If the SHAREPORT keyword was specified, the connections are distributed across the available servers using a weighted round-robin distribution based on the Servers' accept Efficiency Fractions (SEFs).

If the SHAREPORTWLM keyword was specified, the connections are distributed across the available servers using a weighted round-robin distribution based on the WLM server-specific recommendations, modified by the SEFs.

The SEF is a measure, calculated at intervals of approximately 1 minute, of the efficiency of the server application in accepting new connection requests and managing its backlog queue. You can use the Netstat ALL/-A command to obtain the current SEF value for a server. For more detailed information about the Netstat command, see z/OS Communications Server: IP System Administrator's Commands.

Configuring a shareport group can also be used to improve the availability of key applications. For example, should an application server instance become inactive (encounters a failure or is stopped for planned maintenance), the other applications in the shareport group can continue to process client requests.

Applications that might be good candidates for being placed in a shareport group must also satisfy the following requirements:

In addition, each TCP connection directed to a shareport group must be eligible for load balancing (it cannot have an affinity to a specific server). If specific client affinities exist to a specific server, you should consider using sysplex distributor, which provides for load balancing of connections while maintaining client affinities to a specific server instance over a period of time (Timed Affinity). While the primary focus of the sysplex distributor is on load balancing across servers on multiple target systems, it also supports multiple servers in a shareport group on the target systems. For more information on sysplex distributor configuration, see TCP/IP in a sysplex.