[UNIX, Linux, Windows, IBM i]

Using the TCP listener backlog option on IBM MQ for Multiplatforms

In TCP, connections are treated incomplete unless three-way handshake takes place between the server and the client. These connections are called outstanding connection requests. A maximum value is set for these outstanding connection requests and can be considered a backlog of requests waiting on the TCP port for the listener to accept the request.

The default listener backlog values are shown in Table 1.

Table 1. Maximum outstanding connection requests queued at a TCP/IP port
Server platform Maximum connection requests
[AIX]AIX® 100
[Linux]Linux® 100
[IBM i]IBM® i 255
[Windows]Windows Server 100

If the backlog reaches the values shown in Table 1, the TCP/IP connection is rejected and the channel is not able to start.

For MCA channels, this results in the channel going into a RETRY state and trying the connection again at a later time.

However, to avoid this error, you can add an entry in the qm.ini file:

TCP:
ListenerBacklog = n
This overrides the default maximum number of outstanding requests (see Table 1 ) for the TCP/IP listener.
Note: Some operating systems support a larger value than the default. If necessary, this value can be used to avoid reaching the connection limit.
To run the listener with the backlog option enabled either:
  • Use the runmqlsr -b command, or
  • Use the MQSC command DEFINE LISTENER with the BACKLOG attribute set to the required value.
For information about the runmqlsr command, see runmqlsr. For information about the DEFINE LISTENER command, see the DEFINE LISTENER.