By configuring your application server to use the WLM even distribution of HTTP requests
function, HTTP session objects can be evenly distributed by workload management (WLM) to the
servants in your configuration. You can use this task to distribute HTTP session objects in a
round-robin manner among several servants instead of the normal situation where there is a servant
affinity, and HTTP session objects reside in one or two servants.
Before you begin
Your application server should be running on a z/OS® system that is at Version 1.4 or later. Because you are
distributing HTTP requests among multiple servants in this task, you should also have multiple
servants enabled to use this function. See the topic about enabling multiple servants on z/OS for
more information.
About this task
Use this task if your application server is experiencing problems with the default workload
distribution strategy. The default workload distribution strategy uses a hot servant for running
requests that create HTTP session objects. Consider configuring the product and the z/OS Workload Manager to
distribute your HTTP session objects in a round-robin manner in the following conditions:
- HTTP session objects in memory are used, causing dispatching affinities.
- The HTTP sessions in memory last for many hours or days.
- A large number of clients with HTTP session objects must be kept in memory.
- The loss of a session object is disruptive to the client or server.
- There is a large amount of time between requests that create HTTP sessions.
For more background about when to use this task, see the information about WLM even
distribution of HTTP requests.
Procedure
- In the administrative console, set the WLMStatefulSession property to
true.
- Expand and click WebSphere application
servers.
- Click the name of the server that you want to use the WLM even distribution of HTTP
requests function.
- Under Server Infrastructure, expand Administration and click
Administration services.
- Under Additional properties, click Custom
properties.
- Click WLMStatefulSession and change the value in the Value
field to true if it is currently set to
false.
If the custom property does not exist, click
New, add
WLMStatefulSession to the
Name field, and add
true to the
Value field.
If the property,
WLMStatefulSession exists, its setting takes precedence over any setting for the environment
variable wlm_stateful_session_placement_on. If WLMStatefulSession does not
exist, then you can set wlm_stateful_session_placement_on to
true (or accept the default, false) to establish (or
not establish) an even distribution of HTTP requests.
- Click Apply and then click Save to save
your changes to the master configuration.
- Set the optimal minimum and maximum number of servants for the workload.
Set
the minimum and maximum number of servants to handle the expected number of HTTP sessions with
affinity. The minimum number of servants should be greater than one.
If, for example, you expect 15,000 HTTP session objects are established in the server
during the day, then you might set the minimum number of servants to some value larger than one. The
minimum of servants is dependent upon the size and number of the HTTP session objects. However, the
initial arrival rate of client requests establishing the affinity, the frequency of client
interaction, the duration of each client interaction (CPU time and thread occupancy time), and the
length of time that the HTTP session object is maintained also need to be considered when
establishing the minimum value for the number of servants.
- To set the number of servants, click
server_name
.
- Set the minimum and maximum number of servants.
- Click Save and synchronize to apply the changes.
-
If you use a classification mapping file instead of a common workload classification document,
and you specify more than one transaction class on a mapping rule for the managed round-robin
support that the product provides, you should remove this section from your classification mapping
file.
You should use a common workload classification document instead of a classification mapping
file because support for the classification mapping file is deprecated. However if you use a
classification mapping file, and that file contains a line similar to the
following:
TransClassMap *:8080 /Dynacache1Web1/Servlet1 TCLASS1 TCLASS2 TCLASS3
Modify this line such that it specifies only one transaction class. For example, you might
change the preceding line to the following
line:
TransClassMap *:8080 /Dynacache1Web1/Servlet1 TCLASS1
You also must
update the z/OS
workload manager policy to remove the extra service classes that are only required if you want to
use the managed round-robin support that the product provides. Following is an example of how to
remove the extra service classes:
Subsystem-Type Xref Notes Options Help
--------------------------------------------------------------------------
Modify Rules for the Subsystem Type Row 9 to 16 of 16
Command ===> ____________________________________________ SCROLL ===> CSR
Subsystem Type . : CB Fold qualifier names? Y (Y or N)
Description . . . Component Broker requests
Action codes: A=After C=Copy M=Move I=Insert rule
B=Before D=Delete row R=Repeat IS=Insert Sub-rule
More ===>
--------Qualifier-------- -------Class--------
Action Type Name Start Service Report
DEFAULTS: AZAMS1 RBBDEFLT
____ 1 CN AZSR01 ___ AZAMS1 RAZAMS1
____ 2 TC TCLASS1 ___ AZAMS1 RAZAMS1
_d__ 2 TC TCLASS2 ___ AZAMS2 RAZAMS1
_d__ 2 TC TCLASS3 ___ AZAMS3 RAZAMS1
____ 1 CN AZSR02 ___ AZAMS2 RAZAMS2
____ 1 CN AZSR02 ___ AZAMS3 RAZAMS3
****************************** BOTTOM OF DATA ******************************
- Restart the server.
The server recognizes the
WLMStatefulSession property after it is restarted.
Results
The application server uses the WLM even distribution of HTTP requests function to handle
its workload instead of showing affinity to a certain servant.
What to do next
See the topic about detecting and handling problems with runtime components for information
on how to handle problems with server clusters and workloads.