Tuning the TCP/IP server

The TCP/IP server handles the communication with the remote user interfaces: Dynamic Workload Console, ISPF, and PIF. The process includes a main thread, a listener, which starts a new thread every time it receives a request for connection from one of the interfaces. Every user connected through the Dynamic Workload Console or ISPF, or every running PIF, spends a TCP/IP server thread.

On the z/OS system side, you can control how many connection threads can be open at any given time by appropriately setting the following parameters in the BPXPRMxx member of SYS1.PARMLIB:
MAXTHREADS
Specifies the maximum number of pthread_created threads, including running, queued, and exited but undetached, that a single process can have concurrently active.

Its value can range from 0 to 100000. Specifying a value of 0 prevents applications from using pthread_create. The default is 200.

MAXPROCUSER
Specifies the maximum number of processes that a single OpenEdition user ID can have concurrently active, regardless of how the processes were created.

Its value can range from 3 to 32767. The default is 25.

If you get the following error:
CEE5101C During initialization, the callable service BPX1MSS failed. 
The system reason code was 0B250012. The application will be terminated.
increase the number of MAXPROCUSER.

To determine the current value set for MAXTHREADS and MAXPROCUSER, examine the appropriate BPXPRMxx member of SYS1.PARMLIB, or display the value by using the DISPLAY OMVS,OPTIONS command.

To change the value of MAXTHREADS dynamically, use the SETOMVS or SET OMVS command. To make a permanent change, edit the BPXPRMxx member that is used for IPLs.

Additional information on the BPXPRMxx parmlib member can be found in the publication z/OS Initialization and Tuning Reference (SA22-7592).