Threading options for WebSphere Application Server for z/OS
 Technote (troubleshooting)
 
Problem(Abstract)
There are several variables that affect how many threads are available in the Control Region and Server Region of IBM® WebSphere® Application Server for z/OS® on Version 4 or Version 5.
 
Resolving the problem
The following is a brief description of the structure of IBM® WebSphere® Application Server:

WebSphere Application Server for z/OS is made of multiple address spaces. The components are a single Control Region running authorized code, and multiple Server Regions running unauthorized or application code. Workload manager (WLM) determines how many server regions to start or stop based on a policy defined for it by the systems programmer. IBM recommends that the policy is that 85% of the workload finishes in .5 second.

The control region runs with 25 threads. You should not have to change this in production. If, however, debugging is necessary and you are running WebSphere Application Server on 4.0.1, a check box in the Systems Management End User Interface (SMEUI) called Production J2EE Server makes this 1 thread. If Production J2EE Server is checked, there are 25 threads, if it is not checked, 1 thread. If it is not checked, the option directly below the production J2EE server called Debugger Allowed is available for selection.

For WebSphere Application Server Version 4.0.1

The Server region has two different ways to adjust the number of threads available. Both exist within the Server definition in the SMEUI. The original and first option in the server definition is a check box called Isolation Policy.

If you select one transaction per server region, server regions are single-threaded. If you select multiple transactions per server region, a multi-threaded server region starts with three threads. The latest addition to this is an environment variable called BBOO_WORKLOAD_PROFILE=value. If specified, this environment variable overrides the value for the Isolation Policy check box.

Environment variables are explained in Appendix A in WebSphere Application Server V4.0.1 for z/OS and OS/390 Installation and Customization GA22-7834-05.

BBOO_WORKLOAD_PROFILE=value
Controls workload-pertinent decisions made by the WebSphere Application Server for z/OS runtime, such as the number of threads used in the server region. The default value is NORMAL, which is the appropriate value for most applications. Consider using one of the other values when your application requires more threads.

NORMAL
Gives you the thread count dictated by WebSphere Application Server for z/OS, which is either one (single-threaded) or three (multi-threaded).

IOBOUND This value is the default.
Use IOBOUND if you want more threads in applications that perform I/O-intensive processing on z/OS. The number of threads is calculated based on your number of CPUs:
MIN(30, MAX(5,(Number of CPUs*3))).

CPUBOUND
Use CPUBOUND if you want more threads in applications that perform processor-intensive operations on z/OS. The number of threads is calculated based on your number of CPUs, and cannot be less than three MAX((Number of CPUs-1),3).

LONGWAIT
Use LONGWAIT for application processing that involves sending or receiving information across a network (forty threads per server region).
Example: BBOO_WORKLOAD_PROFILE=NORMAL

For WebSphere Application Server Version 5.0

You can change the variable server_region_workload_profile in the Administrative Console by clicking on Environment and then Manage WebSphere variables. From here it is the same behavior as any other environment variable.

For scope, decide whether to place the variable at the node or server level. If the variable exists, you can modify it; otherwise, add server_region_workload_profile as new.

Search the WebSphere Application Server for z/OS Information Center for Topology Planning and Performance for the definition of server_region_workload_profile.

server_region_workload_profile=value
Controls workload-pertinent decisions made by the WebSphere Application Server for z/OS runtime, such as the number of threads used in the server region. The default value is NORMAL, which is the appropriate value for most applications. Consider using one of the other values when your application requires more threads.

ISOLATE
Gives you the thread count of one (single-threaded).

IOBOUND This value is the default.
Use IOBOUND if you want more threads in applications that perform I/O-intensive processing on z/OS. The number of threads is calculated based on your number of CPUs
MIN(30, MAX(5,(Number of CPUs*3))).

CPUBOUND
Use CPUBOUND if you want more threads in applications that perform processor-intensive operations on z/OS. The number of threads is calculated based on your number of CPUs, and cannot be less than three MAX((Number of CPUs-1),3).

LONGWAIT
Use LONGWAIT for application processing that involves sending or receiving information across a network (forty threads per server region).
Example: BBOO_WORKLOAD_PROFILE=NORMAL

 
 
 


Document Information


Current web document: swg21163099.html
Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server for z/OS > PMI/Performance Tools
Operating system(s): z/OS
Software version: 5.0
Software edition:
Reference #: 1163099
IBM Group: Software Group
Modified date: Dec 17, 2004