Enterprise Workload Manager z/OS Support Front cover

advertisement
Front cover
Enterprise Workload
Manager z/OS Support
Installing the EWLM managed server
on z/OS
Customizing the EWLM
management domain
Evaluating performance
data
Paola Bari
G. Michael Connolly
Franco Meroni
ibm.com/redbooks
Redpaper
International Technical Support Organization
Enterprise Workload Manager z/OS Support
July 2005
Note: Before using this information and the product it supports, read the information in “Notices” on
page vii.
First Edition (July 2005)
This edition applies to the EWLM product within Version 1, Release 1 of the IBM Virtualization Engine
Management Servers (product number 5724-i71).
© Copyright International Business Machines Corporation 2005. All rights reserved.
Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule
Contract with IBM Corp.
iii
iv
Enterprise Workload Manager z/OS Support
Contents
Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
The team that wrote this Redpaper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Become a published author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .x
Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .x
Chapter 1. Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1 EWLM for z/OS description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1 Preventive service planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.2 Installation requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.3 General considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 SMP/E installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1 Installing EWLM for z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Middleware instrumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.1 DB2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.2 WebSphere Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
2
2
3
5
6
6
8
8
8
Chapter 2. EWLM configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1 ITSO environment for the EWLM management domain . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Setting up z/OS as managed server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.1 Configuring IBM SDK for z/OS, Java 2 Technology Edition, Version 1.4 . . . . . . . 11
2.2.2 Updating the BPXPRMxx member in PARMLIB . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.3 Configuring a managed server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.4 Authorizing z/OS users to start the EWLM managed server. . . . . . . . . . . . . . . . . 14
2.3 Start EWLM on the z/OS managed server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.1 Enable instrumentation for middleware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3.2 Operational commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4 Running the workload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.4.1 Create z/OS DB2 database for Trade3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.4.2 Distribute the DB2 Universal JDBC Driver for z/OS . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.3 Installing the Trade3 distributed application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.4 Configure Trade3 JDBC driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.4.5 Verifying the workload through the Control Center . . . . . . . . . . . . . . . . . . . . . . . . 33
Chapter 3. Monitoring and reporting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1 EWLM and zWLM policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 EWLM, WLM, and DB2 transaction concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1 ARM enablement on z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Monitoring the workload with EWLM and z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4 A comparison between monitoring reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.1 EWLM Control Center reports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.2 RMF postprocessor workload activity reports . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.3 DB2 PE accounting and statistics reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.4 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5 Performance considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
36
40
41
43
58
58
61
63
67
68
Related publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
© Copyright IBM Corp. 2005. All rights reserved.
v
IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Other publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Online resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to get IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Help from IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vi
Enterprise Workload Manager z/OS Support
71
71
71
71
72
Notices
This information was developed for products and services offered in the U.S.A.
IBM may not offer the products, services, or features discussed in this document in other countries. Consult
your local IBM representative for information on the products and services currently available in your area. Any
reference to an IBM product, program, or service is not intended to state or imply that only that IBM product,
program, or service may be used. Any functionally equivalent product, program, or service that does not
infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to
evaluate and verify the operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter described in this document. The
furnishing of this document does not give you any license to these patents. You can send license inquiries, in
writing, to:
IBM Director of Licensing, IBM Corporation, North Castle Drive Armonk, NY 10504-1785 U.S.A.
The following paragraph does not apply to the United Kingdom or any other country where such provisions are
inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS
PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT,
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of
express or implied warranties in certain transactions, therefore, this statement may not apply to you.
This information could include technical inaccuracies or typographical errors. Changes are periodically made
to the information herein; these changes will be incorporated in new editions of the publication. IBM may make
improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time
without notice.
Any references in this information to non-IBM Web sites are provided for convenience only and do not in any
manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the
materials for this IBM product and use of those Web sites is at your own risk.
IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring
any obligation to you.
Information concerning non-IBM products was obtained from the suppliers of those products, their published
announcements or other publicly available sources. IBM has not tested those products and cannot confirm the
accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the
capabilities of non-IBM products should be addressed to the suppliers of those products.
This information contains examples of data and reports used in daily business operations. To illustrate them
as completely as possible, the examples include the names of individuals, companies, brands, and products.
All of these names are fictitious and any similarity to the names and addresses used by an actual business
enterprise is entirely coincidental.
COPYRIGHT LICENSE:
This information contains sample application programs in source language, which illustrates programming
techniques on various operating platforms. You may copy, modify, and distribute these sample programs in
any form without payment to IBM, for the purposes of developing, using, marketing or distributing application
programs conforming to the application programming interface for the operating platform for which the sample
programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore,
cannot guarantee or imply reliability, serviceability, or function of these programs. You may copy, modify, and
distribute these sample programs in any form without payment to IBM for the purposes of developing, using,
marketing, or distributing application programs conforming to IBM's application programming interfaces.
© Copyright IBM Corp. 2005. All rights reserved.
vii
Trademarks
The following terms are trademarks of the International Business Machines Corporation in the United States,
other countries, or both:
AIX 5L™
AIX®
CICS®
DB2 Universal Database™
DB2®
DRDA®
Eserver®
eServer™
i5/OS™
IBM®
IMS™
OS/390®
Parallel Sysplex®
RACF®
Redbooks (logo)
™
RETAIN®
RMF™
Virtualization Engine™
WebSphere®
z/OS®
zSeries®
The following terms are trademarks of other companies:
Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems,
Inc. in the United States, other countries, or both.
Microsoft, Windows, and the Windows logo are trademarks of Microsoft Corporation in the United States,
other countries, or both.
UNIX is a registered trademark of The Open Group in the United States and other countries.
Linux is a trademark of Linus Torvalds in the United States, other countries, or both.
Other company, product, and service names may be trademarks or service marks of others.
viii
Enterprise Workload Manager z/OS Support
Preface
This IBM® Redpaper will help you install, tailor, and configure the EWLM managed server on
the z/OS® image. It also provides an understanding of how the transaction concept differs
between the distributed and z/OS worlds and how you can interpret the EWLM performance
data compared with traditional z/OS monitors such as RMF™ and DB2® Performance
Expert.
The team that wrote this Redpaper
This Redpaper was produced by a team of specialists from around the world working at the
International Technical Support Organization, Poughkeepsie Center.
Paola Bari is an Advisory Programmer at the International Technical Support Organization,
Poughkeepsie Center. She has 23 years of experience as a systems programmer in
OS/390®, z/OS. and Parallel Sysplex®, including several years of experience in
WebSphere® MQ and WebSphere Application Server.
G Michael Connolly is an IT consultant at the International Technical Support Organization,
Poughkeepsie Center. He has more than 30 years of IBM software development experience
in both distributed systems and the mainframe zSeries®. He holds a BA in Humanities from
Villanova University. His areas of expertise include TCP/IP Communications, UNIX® System
Services, WebSphere for z/OS, and most recently the IBM Virtualization Engine™ EWLM
product.
Franco Meroni is a consultant IT architect for IBM Italy Global Services, Integrated
Technology Services organization. He has more than 35 years of experience in mainframe
hardware and software including OS/390, z/OS, and Parallel Sysplex. He has worked with
PSSC Montpellier for z/Series benchmarks and customer environment assessments.
Thanks to the following people for their contributions to this project:
Rich Conway
International Technical Support Organization, Poughkeepsie Center
Georg Bosch
IBM Germany
Yuk Chan
IBM Poughkeepsie
Yuksel Gunal
IBM Poughkeepsie
Hugh Smith
IBM Santa Teresa
Dino Tonelli
IBM Poughkeepsie
Peter Yocom
IBM Poughkeepsie
© Copyright IBM Corp. 2005. All rights reserved.
ix
David Zhang
IBM San Jose
Become a published author
Join us for a two- to six-week residency program! Help write an IBM Redbook dealing with
specific products or solutions while getting hands-on experience with leading-edge
technologies. You’ll team with IBM technical professionals, Business Partners, and/or
customers.
Your efforts will help increase product acceptance and customer satisfaction. As a bonus,
you’ll develop a network of contacts in IBM development labs, and increase your productivity
and marketability.
Find out more about the residency program, browse the residency index, and apply online at:
ibm.com/redbooks/residencies.html
Comments welcome
Your comments are important to us!
We want our papers to be as helpful as possible. Send us your comments about this
Redpaper or other Redbooks in one of the following ways:
򐂰 Use the online Contact us review redbook form found at:
ibm.com/redbooks
򐂰 Send your comments in an e-mail to:
redbook@us.ibm.com
򐂰 Mail your comments to:
IBM Corporation, International Technical Support Organization
Dept. HYJ Mail Station P099
2455 South Road
Poughkeepsie, NY 12601-5400
x
Enterprise Workload Manager z/OS Support
1
Chapter 1.
Installation
This chapter provides information about the tasks that are required to install and customize
the EWLM code on the z/OS platform.
© Copyright IBM Corp. 2005. All rights reserved.
1
1.1 EWLM for z/OS description
The IBM Virtualization Engine is a set of technologies and systems services that enable
system administrators to access and manage resources across multiple platforms (z/OS,
AIX®, i5/OS™, Windows® and so forth). The Enterprise Workload Manager (EWLM)
systems service enables you to define business-oriented performance goals for an entire
domain of servers across multiple platforms, then provides an end-to-end view of actual
performance relative to those goals. EWLM for z/OS includes the EWLM managed server but
not the EWLM domain manager. EWLM managed servers run on each server that hosts
workloads to be monitored by EWLM. They collect and aggregate data and send the data to
the domain manager. For more information, visit the IBM eServer™ Information Center at:
http://publib.boulder.ibm.com/eserver/
The program number for EWLM for z/OS is 5655-M76. EWLM for z/OS is distributed as z/OS
priced feature at no additional cost. EWLM for z/OS consists of the following FMIDs:
򐂰 HVE1110, IBM Virtualization Engine Enterprise Workload Manager for z/OS V1.1
򐂰 HJVA140, IBM SDK for z/OS, Java™ 2 Technology Edition, V1.4
EWLM product can be ordered as CBPDO or ServerPac.
1.1.1 Preventive service planning
Before installing EWLM for z/OS, you should review the current Preventive Service Planning
(PSP) information. If you obtained EWLM for z/OS as part of a CBPDO, there is HOLDDATA
and PSP information included on the CBPDO.
Table 1-1 lists the UPGRADE and SUBSET values to be used to locate the EWLM for z/OS
PSP.
Table 1-1 PSP UPGRADE and SUBSET ID
UPGRADE
SUBSET
Description
VEV1R1
EWLM
EWLM for z/OS
JAVAOS390
HJVA140
IBM SDK for z/OS V1.4
Table 1-2 lists the Components IDs that belong to the EWLM code.
Table 1-2 FMID COMPID component name
FMID
COMPID
Component name
RETAIN®
release
HVE1110
5655M7601
EWLM, z/OS-specific
110
HVE1110
5655M7602
EWLM, common code
110
HJVA140
5648-C9800
IBM SDK for z/OS, Java 2 Technology Edition, V1.4
140
HJVA140
5648-C9801
IBM SDK for z/OS, Java 2 Technology Edition, V1.4
140
Verify that the following PTFs are installed on your z/OS 1.6 system:
򐂰 UA15188 (WLM)
򐂰 UA15189 (WLM Kanji)
򐂰 UA15456 (USS)
2
Enterprise Workload Manager z/OS Support
1.1.2 Installation requirements
The following sections identify the system requirements for installing and activating EWLM for
z/OS. In these sections, the system used to install the EWLM code is identified as the driving
system and the system where the EWLM will run is identified as the target system. Depending
on your installation policy, these can be represented by either the same system or two
different systems.
Driving system
The driving system can run in any hardware environment that supports the required software.
Table 1-3 describes the software requirements that are necessary to install the EWLM code.
Table 1-3 Driving system software requirements
Program number
Any one of the following:
Product name and minimum service level
5694-A01
z/OS V1.4 with IBM SMP/E V3R2 (5655-G44) or higher and Java 2
Technology Edition, SDK 1.3.1 (5655-D35) or higher
5655-G52
z/OS.e V1.4 with IBM SMP/E V3R2 (5655-G44) or higher and Java 2
Technology Edition, SDK 1.3.1 (5655-D35) or higher
Keep in mind that:
򐂰 z/OS UNIX System Services must be up in full function mode on your driving system.
򐂰 Before installing EWLM for z/OS, you must ensure that the target system’s HFS is
available (OMVS active and the target file systems mounted) for processing.
򐂰 An SMP/E utility entry for the binder is required. You can specify any of these program
names in the UTILITY entry:
– IEWLINK
– HEWL
– LINKEDIT
– HEWLH096
(The linkage editor that uses the names HEWLKED, HEWLF064, HEWLF440, and
IEWLF128 cannot be used.)
򐂰 The following installation jobs, as well as the SMP/E APPLY job, should be run under a
user ID with UID(0), or with a user ID with READ access to the BPX.SUPERUSER
resource in the RACF® FACILITY class:
–
AJVISMKD
–
HVEISMKD
This installation user ID must also have READ access to these FACILITY class resources:
– BPX.FILEATTR.PROGCTL
– BPX.FILEATTR.APF
– BPX.FILEATTR.SHARELIB
Chapter 1. Installation
3
Target system
The target environment can run on any hardware that supports the software listed in
Table 1-4. This table describes the software requirements for running the EWLM code.
Table 1-4 Software prerequisites
Program number
Product name and minimum service level
5694-A01
z/OS V1.6 or higher
5655-G52
z/OS.e V1.6 or higher
5655-I56
IBM SDK for z/OS, Java 2 Technology Edition, V1.4 (included in this product)
at PTF level UQ90449 or later
5694-A01
z/OS V1.6 PTF UA15188 (Workload Manager) and UA15189 (Workload
Manager Kanji)
z/OS V1.6 with PTFS UA12453, UA13606, and UQ92626 or higher
5655-G52
z/OS.e V1.6 PTF UA15188 (Workload Manager) and UA15189 (Workload
Manager Kanji)
z/OS.e V1.6 with PTFS UA12453, UA13606, and UQ92626 or higher
DASD requirements
Table 1-5 lists the total space required for each type of library.
Table 1-5 DASD space
Library type
Total space required
Target
4 tracks of 3390 for EWLM for z/OS
3 tracks of 3390 for IBM SDK for z/OS, V1.4
Distribution
475 tracks of 3390 for EWLM for z/OS
1500 tracks of 3390 for IBM SDK for z/OS, V1.4
HFS
270 tracks of 3390 for EWLM for z/OS
3600 tracks of 3390 for IBM SDK for z/OS, V1.4
The following tables contain the list of the libraries that are either updated or created during
the installation process.
Table 1-6 Target libraries requirement
Library DDNAME
Type
Number 3390 trks
Number Dir. blocks
PROCLIB
Ea
1
1
SAJVSSMP1
Ub
3
2
SAMPLIB
E
3
1
a. E represents an existing shared data set, used by this product and others. This data set is
not allocated during the installation process of this product. To determine the correct storage
needed for this data set, the storage size given here must be added to the current dimension
of the data set.
b. U represents an unique data set, allocated by this product and used only by this product.
4
Enterprise Workload Manager z/OS Support
Table 1-7 HFS paths
DDNAME
Type
Path name
SAJVJ14
Na
/usr/lpp/java/J1.4/IBM
SHVECLAS
N
/usr/lpp/VE_R1/EWLM/IBM
a. N represents a new path, created by this product.
Table 1-8 Distribution libraries requirements
Library DDNAME
Type
Number of 3390 tracks
Number of dir. blocks
AAJVHFS
U
1813
2
AAJVSMP1
U
3
2
AHVEDATA
U
5
2
AHVEHFS
U
466
3
APROCLIB
E
1
1
ASAMPLIB
E
3
1
1.1.3 General considerations
The IBM Software Development Kit for z/OS Java 2 Technology Edition, Version 1.4 (program
number 5655-I56), which is included as part of EWLM for z/OS, is a functional successor to
various Java products from IBM. If you have previously installed this product, you should take
the following considerations into account when installing EWLM for z/OS.
If you already have a copy of IBM SDK for z/OS, Java 2 Technology Edition, V1.4 at the
required maintenance level for EWLM for z/OS, you can continue to use the existing version
or install the IBM SDK for z/OS, Java 2 Technology Edition, V1.4 shipped with EWLM for z/OS
and replace your existing IBM SDK for z/OS, Java 2 Technology Edition, V1.4 with it.
We recommend that you install EWLM for z/OS into the same SMP/E zones with your z/OS or
z/OS.e (V1.6 or later) system, including SMPCSI, target, distribution data sets, except for the
HFS data sets.
During installation of EWLM for z/OS on the driving system, the target HFS file systems must
be mounted at the following mountpoints:
򐂰
򐂰
<PathPrefix>/usr/lpp/VE_R1/EWLM
<PathPrefix>/usr/lpp/java/J1.4
<PathPrefix> is an HFS path prefix such as /SERVICE. Use of a path prefix allows
maintenance to be applied to a copy of the EWLM for z/OS HFS file systems without
disturbing the production HFS file systems.
During customization and operation of EWLM for z/OS on the target system, the target HFS
file systems must be mounted at the following mountpoints:
򐂰
򐂰
A Java SDK mountpoint, normally /usr/lpp/java/J1.4
An EWLM for z/OS mountpoint, normally /usr/lpp/VE_R1/EWLM
Chapter 1. Installation
5
1.2 SMP/E installation
From an SMP/E point of view, it is recommended that you install the EWLM code into the
z/OS CSI. If you want to install EWLM for z/OS into its own SMP/E environment, you must
create and initialize its own SMPCSI and the SMP/E control data sets.
1.2.1 Installing EWLM for z/OS
In order to install the EWLM code, you have to execute all of the installation steps from a user
ID that is defined to z/OS UNIX System Services, and which has the following attributes:
򐂰 UID(0) or READ access or higher to BPX.SUPERUSER in the FACILITY class
򐂰 READ access or higher to BPX.FILEATTR.PROGCTL, BPX.FILEATTR.APF, and
BPX.FILEATTR.SHARELIB in the FACILITY class
The installation of the EWLM code follows the normal installation path through the SMP/E
RECEIVE, APPLY, and ACCEPT steps.
Table 1-9 contains the list of the sample installation jobs provided as part of the product. You
can access the sample installation jobs by performing an SMP/E RECEIVE and then copying
the jobs from the relfiles to a work data set for editing and submission.
Table 1-9 Installation jobs
Job name
Job type
Description
RELFILE
AJVALLOC
ALLOCATE
Sample job to allocate target and
distribution libraries for Java Software
Development Kit
IBM.HJVA140.F2
AJVISHFS
ALLOCATE
Sample job to allocate a new HFS data set
for Java Software Development Kit
IBM.HJVA140.F2
AJVISMKD
MKDIR
Sample job to invoke the supplied
AJVMKDIR EXEC to allocate HFS paths for
Java Software Development Kit
IBM.HJVA140.F2
AJVDDDEF
DDDEF
Sample job to define SMP/E DDDEFs for
Java Software Development Kit
IBM.HJVA140.F2
HVEALLOC
ALLOCATE
Sample job to allocate target and
distribution libraries for EWLM for z/OS
IBM.HVE1110.F2
HVEISHFS
ALLOCATE
Sample job to allocate a new HFS data set
for EWLM for z/OS
IBM.HVE1110.F2
HVEISMKD
MKDIR
Sample job to invoke the supplied
HVEMKDIR EXEC to allocate HFS paths
IBM.HVE1110.F2
HVEDDDEF
DDDEF
Sample job to define SMP/E DDDEFs for
EWLM for z/OS
IBM.HVE1110.F2
These tasks must be executed to accomplish the EWLM for z/OS code installation:
1. If you are installing the EWLM for z/OS as part of a CBPDO, run the RCVPDO job found in
the CBPDO RIMLIB data set to RECEIVE the EWLM for z/OS FMIDs as well as any
service, HOLDDATA, or preventive service planning (PSP) information included on the
CBPDO tape. This step is not required if you are installing EWLM for z/OS as part of a
service pack.
6
Enterprise Workload Manager z/OS Support
2. Edit and submit the sample jobs HVEALLOC and AJVALLOC to allocate the SMP/E target
and distribution libraries for EWLM for z/OS and the Java Software Development Kit
component.
3. If you are installing EWLM for z/OS and the Java Software Development Kit component
into new HFS data sets, customize and run sample jobs HVEISHFS and AJVISHFS to
allocate the HFS data sets.
4. Mount the newly created HFS with the MKDIR command. The MKDIR commands are
described in sample jobs HVEISHFS and AJVISHFS. Mount the new HFS data sets at:
–
–
<PathPrefix>/usr/lpp/VE_R1/EWLM
<PathPrefix>/usr/lpp/java/J1.4
<PathPrefix> is an HFS path prefix.
5. Edit and submit sample jobs HVEISMKD and AJVISMKD to create the HFS target
directories needed to install EWLM for z/OS and the Java Software Development Kit.
6. If you plan to create a new HFS for this product, you should consider updating the
BPXPRMxx PARMLIB member to mount the new HFS at IPL time.
7. Edit and submit the sample jobs HVEDDDEF and AJVDDDEF to create the DDDEF
entries for the SMP/E target and distribution libraries.
8. Edit, customize with your installation values, and submit the sample job shown in
Example 1-1 to perform an SMP/E APPLY CHECK for EWLM for z/OS.
After you have successfully run the APPLY CHECK job and solved any potential actions
indicated by the APPLY CHECK, run the job again with the CHECK operand removed.
Example 1-1 Sample APPLY job
//APPLY JOB
//STEP1 EXEC PGM=GIMSMP,REGION=M,TIME=NOLIMIT
//SMPCSI DD DSN=csiname,DISP=SHR
//SMPCNTL DD
SET BOUNDARY(targetzone) .
APPLY CHECK
FORFMID(HVE111,HJVA14) → remove FMID HJVA140 if java is already installed
SELECT(HVE111,HJVA14) → remove FMID HJVA140 if java is already installed
GROUPEXTEND(NOAPARS,NOUSERMODS)
BYPASS(HOLDSYSTEM,
HOLDUSER,HOLDCLASS(UCLREL,ERREL,HIPER)) .
/*
9. Edit, customize with your installation values, and submit the sample job shown in
Example 1-2 to perform an SMP/E ACCEPT CHECK. Before using SMP/E to load new
distribution libraries, it is recommended that you set the ACCJCLIN indicator in the
distribution zone. This will cause entries produced from JCLIN to be saved in the
distribution zone whenever a SYSMOD containing inline JCLIN is ACCEPTed.
After you have successfully run and taken any actions indicated by the ACCEPT CHECK,
remove the CHECK operand and run the job again to perform the ACCEPT.
Example 1-2 Sample ACCEPT job
//ACCEPT JOB
//STEP1 EXEC PGM=GIMSMP,REGION=M,TIME=NOLIMIT
//SMPCSI DD DSN=csiname,DISP=SHR
//SMPCNTL DD
SET BOUNDARY(dlibzone) .
ACCEPT CHECK
FORFMID(HVE111,HJVA14) → remove FMID HJVA140 if java is already installed
Chapter 1. Installation
7
SELECT(HVE111,HJVA14) → remove FMID HJVA140 if java is already installed
GROUPEXTEND(NOAPARS,NOUSERMODS)
BYPASS(HOLDSYSTEM,
HOLDUSER,HOLDCLASS(UCLREL,ERREL,HIPER)) .
/*
After you complete this step, the EWLM for z/OS is installed and ready to be customized.
Now you can customize the managed node on z/OS. Instructions are provided in “Setting up
z/OS as managed server” on page 11.
1.3 Middleware instrumentation
The following middleware running on z/OS is ARM instrumented:
򐂰 DB2 UDB for z/OS V8
򐂰 WebSphere Application Server for z/OS V6
1.3.1 DB2
The following maintenance is required to provide ARM enablement on DB2 Universal
Database™ Version 8.2. After you apply the following maintenance, DB2 is ARM-enabled by
default and no additional steps are required to enable ARM on DB2 for z/OS managed
servers.
򐂰 APAR PQ91509 EWLM correlator support to allow performance measurement using ARM
instrumentation.
򐂰 APAR PQ99707 with the connection reset optimization code for JCC clients.
򐂰 The JCC driver should be at level 2.6.16 or later.
Transactions initiated through DDF are accounted as separate transactions. DB2 transactions
initiated through DDF are accounted as separate transactions, but DB2 transactions initiated
by a local WebSphere Application Server executed in binding mode are accounted to the
WebSphere thread.
In this release, DDF cannot be hop 0 for a transaction to be measured by EWLM. It will not
create a correlator for the transactions but will only handle the correlator coming from a
distributed environment.
1.3.2 WebSphere Application Server
z/OS requires WebSphere Application Server V6.0.1. No further maintenance is required.
Refer to “Enable instrumentation for middleware” on page 17 for the required tasks to enable
the ARM instrumentation.
8
Enterprise Workload Manager z/OS Support
2
Chapter 2.
EWLM configuration
This chapter discusses:
򐂰 The ITSO environment for the EWLM management domain
򐂰 Setting up z/OS as managed sever
򐂰 Starting the managed server on z/OS
򐂰 Discussion about the workload
© Copyright IBM Corp. 2005. All rights reserved.
9
2.1 ITSO environment for the EWLM management domain
Figure 2-1 represents the environment we used at ITSO: a Web Server tier, a two-server
WebSphere cluster as the application tier, and a database tier. These four servers were
configured to participate in one EWLM management domain as managed servers and
connected to a domain manager.
EWLM1
(Windows)
Web Server
HTTP Plugin 5.1.1
EWLM2
(Windows)
WTSC69
(z/OS)
EWLM4
(AIX)
Application Servers
WAS 5.1.1
Database Server
DB2 8.2
Figure 2-1 Three-tier architecture
Our entry application was the HTTP plugin running on ewlm1, which runs on Windows Server
2003. The WebSphere cluster consisted of the ewlm2 and ewlm4 servers running
WebSphere Application Server 5.1.1, with ewlm2 running on Windows Server 2003 and
ewlm4 running maintenance level three of AIX 5L™ Version 5.2. DB2 V8.2 ran on WTSC60
z/OS 1.6. The domain manager EWLMDM1 in our environment ran on Red Hat Enterprise
Linux® AS 2.1; this was where we ran the EWLM Control Center.
Figure 2-2 on page 11 shows our management domain configuration.
10
Enterprise Workload Manager z/OS Support
Managed server
-m p 3333
Laptop
9.x.x.x
W orkload sim ulator
wtsc43
Dom ain
m anager
-m p 3333
-jp 9092
-wasPorts 20000
HTTP Plugin
Server
EW LM1
9.12.4.141
Managed server
-m p 3333
EW LM2
9.12.4.140
EW LMDM1
9.12.4.142
Managed server
-m p 3333
EW LM3
9.12.4.139
Managed server
-m p 3333
wtsc69
9.12.6.22
Figure 2-2 ITSO management domain
Note: We assume that the domain manager has already been configured and that the
Control Center application is active. Same for the managed nodes running on the Web
server and the WebSphere Application cluster.
In this chapter we focus only on the managed node running on the z/OS platform as we
describe the setup of the z/OS managed server. In this configuration we use the default
security setting, and there is no firewall present in the described configuration.
2.2 Setting up z/OS as managed server
The tasks that are required to customize the z/OS managed server are:
򐂰
򐂰
򐂰
򐂰
Configuring IBM SDK for z/OS, Java 2 Technology Edition, Version 1.4
Updating the BPXPRMxx member in PARMLIB
Configuring a managed server
Authorizing z/OS users to start the EWLM managed server
2.2.1 Configuring IBM SDK for z/OS, Java 2 Technology Edition, Version 1.4
After installing a z/OS managed server and prior to configuring and starting the managed
server, ensure that the SDK (IBM SDK for z/OS, Java 2 Technology Edition, Version 1.4) is
installed on the managed server and that the SDK path variable used by EWLM points to the
path where the SDK resides:
1. Log on to the managed server system with a user ID that has superuser authority.
Chapter 2. EWLM configuration
11
2. Go to the /usr/lpp/VE_R1/EWLM/samples directory and issue the following command to
copy the EWLM managed server environment variable into the /etc directory:
cp ewlmms_environment.conf
/etc
3. In the /etc directory, update the SDK path variable that EWLM will use (JRE_ROOT) in the
ewlmms_environment.conf file. For example:
JRE_ROOT=/usr/lpp/java/J1.4/bin
This is the default path if you installed the SDK as part of the EWLM product. If your SDK
resides on a different path, specify that directory in the JRE_ROOT definition.
Example 2-1 shows the definitions that we used on SC69.
Example 2-1 ewlmms_environment.conf on SC69
EWLM_ROOT=/usr/lpp/VE_R1/EWLM
JRE_ROOT=/usr/lpp/java/J1.4/bin
LOGFILE_ROOT=/var/adm/ewlm/ewlmms
2.2.2 Updating the BPXPRMxx member in PARMLIB
EWLM requires z/OS UNIX domain (AF_UNIX) sockets. Verify that this type of file system is
defined in the BPXPRMxx member of PARMLIB in use in your installation. You can use the
D OMVS,O command to discover which PARMLIB member is in use to define the HFS
configuration. Example 2-2 shows the definition used on SC69.
Example 2-2 Extract of BPXPRM member used on SC69
FILESYSTYPE TYPE(UDS) ENTRYPOINT(BPXTUINT)
NETWORK DOMAINNAME(AF_UNIX)
DOMAINNUMBER(1)
MAXSOCKETS(1000)
TYPE(UDS)
2.2.3 Configuring a managed server
You can configure the managed server on z/OS by using the createMS script provided in the
the <install>/VE_R1/EWLM/bin directory (where <install> maps to the directory in which the
EWLM product has been installed). The <install>/VE_R1/EWLM/bin directory should contain
the following scripts:
򐂰
򐂰
򐂰
򐂰
򐂰
changeMS.sh
createMS.sh
deleteMS.sh
displayMS.sh
startMS.sh
The following command syntax creates the managed server on z/OS:
createMS workingDir -ma address -mp port -auth [None | ServerSSL | ClientServerSSL]
-sslks path -sslpw password
In this syntax:
workingDir
12
Defines the directory in which the script creates the managed server
instance. This directory should not already exist; createMS creates it for
you. You must provide the working directory value as an absolute path.
Enterprise Workload Manager z/OS Support
Note: If you use a working directory name with lowercase characters, remember when
starting the managed server with the START command that you must preserve the case
(for example, by using quotations around the directory name).
-ma
The IP address or host name of the domain manager. This value must
match the -ma value that you specify when you configure the domain
manager. This enables the managed server to properly identify and
communicate with its domain manager.
-mp
The port that the managed server uses to communicate with the domain
manager. This value must match the -mp value that you specify when you
configure the domain manager.
-auth
The authority level used to secure communications between the domain
manager and the managed servers. Possible values are None, ServerSSL,
and ClientServerSSL.
-sslks
The path to the certificate keystore that contains the SSL keys that are
used for securing the communications between the managed servers and
the domain manager or firewall broker, if applicable, when -auth is
ServerSSL or ClientServerSSL.
-sslpw
Password used to access the keystore specified on the -sslks parameter.
For a detailed description of these fields, refer to the eServer Software Information Center:
http://publib.boulder.ibm.com/infocenter/eserver/v1r1/en_US/index.htm?info/icmain.htm
Example 2-3 shows the command we used to create the managed server on SC69. You
might create a separate HFS for the EWLM data and mount it before issuing createMS.
Example 2-3 createMS script used on SC69
cd /usr/lpp/VE_R1/EWLM/bin
./createMS.sh /ewlm/ewlmms -ma 9.12.4.142 -mp 3333 -auth None
You can check the result of the script in the var/adm/ewlm/ewlmms directory. You should find
a createMS.log file with the output of the command as shown in Example 2-4.
Example 2-4 createMS log output
*****************************************************************************
BEGIN
createMS command started at: Wed Mar 16 16:32:39 EST 2005 Platform = OS/390
STEP 1: Create EWLM working directory
EWLM working directory: /ewlm/ewlmms
STEP 2: Validate user input
STEP 3: Configure the Managed Server via WLMConfig
WLMCONFIG_PARMS: -mode ManagedServer -auth None -ma 9.12.4.142 -mp 3333
/usr/lpp/java/J1.4/bin/java -classpath
/usr/lpp/VE_R1/EWLM/classes/ewlm_updates.jar:/usr/lpp/VE_R1/EWLM/classes/ms/Managed_Server.jar:/usr/lpp/VE_
R1/EWLM/classes/db2j.jar:/usr/lpp/VE_R1/EWLM/classes/samplebroker.jar:/usr/lpp/VE_R1/EWLM/classes/dhbbroker
.jar:/usr/lpp/VE_R1/EWLM/classes/dhbcore.jar:/usr/lpp/VE_R1/EWLM/classes/jms.jar:/usr/lpp/VE_R1/EWLM/classe
s/CL3Export.jar:/usr/lpp/VE_R1/EWLM/classes/CL3Nonexport.jar: com.ibm.wlm.rte.WLMConfig /ewlm/ewlmms -mode
ManagedServer -auth None -ma 9.12.4.142 -mp 3333
0
WLMConfig command succeeded
STEP 4: Process the working directory
PROCESSING COMPLETE
Chapter 2. EWLM configuration
13
As a result of executing createMS, the working directory /ewlm/ewlmms is created with the
following subdirectories:
Diagnostics
Designed to contain dump produced by the EWLM managed node if
problems occur.
Interfaces
Contains API code.
eWLMData
Contains database data such as policy, reporting data, and properties.
This directory also includes the System.log file that contains the log data for the startup of the
managed server.
2.2.4 Authorizing z/OS users to start the EWLM managed server
In your installation, you might want to start the z/OS managed with a user ID that does not
have superuser authority but can access the necessary files and directories.
The following tasks are required to define a user that will start the managed server and be
associated with the managed server process:
1. Define a group and user that will be used to start the managed server. The managed
server process will run using the user ID defined here. Use the user ID and group name
that you specify in this step throughout rest of these instructions. You can use the following
RACF commands to create a group and add a user to the group; you must provide similar
definitions if your installation is using a different security product:
ADDGROUP groupname SUPGROUP(SYS1) OWNER(SYS1) OMVS(GID(group-identifier))
ADDUSER userid DFLTGRP(groupname) NOPASSWORD OMVS(UID(user-identifier)
PROGRAM(/bin/sh) HOME(/usr/lpp/VE_R1/EWLM))
In this syntax:
groupname
The name of the group that contains EWLM user IDs
userid
The user ID that the managed server process will run as
group-identifier
The numeric group identifier
user-identifier
The numeric user identifier
Example 2-5 is the set of commands we used on SC69 to define our EWLM user as
EWLMMS belonging to the EWLMGRP group.
Example 2-5 Defining EWLM user ID and group to the security product
ADDGROUP EWLMGRP SUPGROUP(SYS1) OWNER(SYS1) OMVS(GID(6899))
ADDUSER EWLMMS DFLTGRP(EWLMGRP) NOPASSWORD OMVS(UID(6824) PROGRAM(/BIN/SH)
LU EWLMMS
USER=EWLMMS NAME=UNKNOWN OWNER=BARI
CREATED=05.070
DEFAULT-GROUP=EWLMGRP PASSDATE=N/A
PASS-INTERVAL=N/A
ATTRIBUTES=PROTECTED
REVOKE DATE=NONE
RESUME DATE=NONE
LAST-ACCESS=05.073/09:42:06
CLASS AUTHORIZATIONS=NONE
NO-INSTALLATION-DATA
NO-MODEL-NAME
LOGON ALLOWED
(DAYS)
(TIME)
--------------------------------------------ANYDAY
ANYTIME
GROUP=EWLMGRP
AUTH=USE
CONNECT-OWNER=BARI
CONNECT-DATE=05.070
CONNECTS=
04 UACC=NONE
LAST-CONNECT=05.073/09:42:06
14
Enterprise Workload Manager z/OS Support
CONNECT ATTRIBUTES=NONE
REVOKE DATE=NONE RESUME DATE=NONE
SECURITY-LEVEL=NONE SPECIFIED
CATEGORY-AUTHORIZATION
NONE SPECIFIED
SECURITY-LABEL=NONE SPECIFIED
***
2. Grant the user ID access to call z/OS platform services. To do this, issue the following
RACF commands:
RDEFINE FACILITY MVSADMIN.EWLM.AGENT UACC(NONE)
PERMIT MVSADMIN.EWLM.AGENT CLASS(FACILITY) ID(userid) ACCESS(READ)
SETROPTS RACLIST(FACILITY) REFRESH
In this syntax, userid is the user ID that the managed server process will use, as defined
in the previous step.
Example 2-6 is the set of RACF commands we used on SC69 to enable our user ID,
EWLMMS, to use ARM services.
Example 2-6 Granting the usage of ARM services to EWLMMS
RDEFINE FACILITY MVSADMIN.EWLM.AGENT UACC(NONE)
PERMIT MVSADMIN.EWLM.AGENT CLASS(FACILITY) ID(EWLMMS) ACCESS(READ)
SETROPTS RACLIST(FACILITY) REFRESH
3. Provide the user the ability to start the EWLM managed server by issuing the following
RACF commands:
RDEFINE STARTED EWLMMS.** STDATA(USER(userid) GROUP(groupname) TRUSTED)
SETROPTS RACLIST(STARTED) REFRESH
In this syntax:
userid
The user ID, created earlier, that is associated to the EWLM
managed server process.
groupname
The group name defined in the previous step.
Example 2-7 is the set of commands we used on SC69 to associate the EWLMMS user ID
to the managed server process.
Example 2-7 Providing an RACF user ID to the EWLM managed server process
RDEFINE STARTED EWLMMS.** STDATA (USER(EWLMMS) GROUP(EWLMGRP) TRUSTED)
SETROPTS RACLIST(STARTED) REFRESH
4. Switch to a user with superuser authority to perform the following tasks.
5. Grant the group that you created in the previous step access to the EWLM directories by
issuing the following commands:
chgrp -R groupname workingDir
chgrp groupname /etc/ewlmms_environment.conf
chgrp -R groupname /var/adm/ewlm
In this syntax:
groupname
The group name representing the EWLM user ID, created in the
earlier step.
Chapter 2. EWLM configuration
15
workingDir
The EWLM working directory that was created at the time of the
createMS command.
/var/adm/ewlm
The directory where the scripts are allocating their output files.
Example 2-8 is the set of commands we use don SC69 to associate the EWLMMS user ID
to the managed server process.
Example 2-8 Commands to grant access to directories and file to EWLMMS user ID
chgrp -R EWLMGRP workingDir
chgrp groupname /etc/ewlmms_environment.conf
chgrp -R groupname /var/adm/ewlm
6. Grant the group access to the configuration file and remove access for all other users by
issuing the following commands:
chmod g+w /etc/ewlmms_environment.conf
chmod o-rx /etc/ewlmms_environment.conf
2.3 Start EWLM on the z/OS managed server
In the <install>/VE_R1/EWLM/bin directory, you can find the createMS.sh script that can be
used to start the EWLM managed server.
The recommended way to start the EWLM is to use the procedure provided by the installation
in your PROCLIB. At start time, the EWLM process will be associated to the newly created
user ID and defined in the RACF STARTED class.
Issue the following command:
START EWLMMS,MSDIR='workingDir'
In this syntax, workingDir is the working directory that is created by the createMS
configuration script.
Remember to use quotation marks if the working directory name includes lowercase
characters to preserve the case of parameters.
This is the start of the EWLM managed server on SC69 using the procedure:
START EWLMMS,MSDIR='/ewlm/ewlmms'
Example 2-9 shows checking the output log to verify that the process started successfully.
Example 2-9 Verifying a successful start by checking the output log
cd /var/adm/ewlm/ewlmms/
obrowse startMS.log
****************************************************************************
* BEGIN
*
startMS command started at: Mon Mar 14 09:42:06 EST 2005 Platform = OS/390
STEP 1: Access EWLM working directory
EWLM working directory: /ewlm/ewlmms
There is no way to bring down EWLMMS gracefully. If you need to stop the managed server,
you must cancel the started task.
16
Enterprise Workload Manager z/OS Support
Figure 2-3 shows the Managed Servers view on the Control Center after the z/OS managed
node was started on SC69. You can see that SC69 has joined the management domain.
Figure 2-3 Managed Servers view
Selecting the managed server on SC69 and requesting the properties opened Figure 2-4.
Figure 2-4 SC69 managed server properties
2.3.1 Enable instrumentation for middleware
Currently DB2 V8.2 and WebSphere V6.0.1 are the available middleware for z/OS that have
ARM enablement capability.
DB2
No further action is required to enable ARM instrumentation on DB2 through DDF.
Chapter 2. EWLM configuration
17
WebSphere Application Server for z/OS
To enable ARM instrumentation on WebSphere Application Server, enable ARM and the
Request Metrics. After you complete the following customization steps, restart the
WebSphere Application Server.
Enable PMI Request Metrics
The following steps are required to enable PMI metrics:
1. Log on to the administrative console of WebSphere Application Server V6 at
http://<hostname>:9060/admin, where 9060 is the default HTTP port for a Network
Deployment Cell.
2. Select Monitoring and Tuning → Request metrics in the administrative console
navigation tree.
a. On the Configuration tab of the Request Metrics panel, check the Enable Request
metrics box. Figure 2-5 on page 19 shows a sample of this panel.
b. Under Components to be instrumented, select ALL.
c. Choose the trace level you want to use from the Trace level list: We use Hops.
d. Under Request Metrics Destination:
i. Standard Logs is optional.
ii. Check Application Response Measurement (ARM) agent.
iii. Specify ARM4 from the Agent Type pull-down list.
iv. Type the class name in the ARM transaction factory implementation class name text
field: com.ibm.wlm.arm40SDK.transaction.Arm40TransactionFactory
3. Click Apply and OK.
4. Click Save, and Save to Master Configuration.
18
Enterprise Workload Manager z/OS Support
Figure 2-5 PMI metrics Configuration panel
Add custom properties to the JVM
The following steps are required to update the JVM custom properties:
1. Copy the arm4.jar from the default location /usr/lpp/VE_R1/EWLM/classes into a directory
of your choice. The .jar file must reside in the /ARM subdirectory of the directory you
choose. In our example, we choose /u/ewlmadm/ARM. Remember to give permission so
that the WebSphere Application Server for z/OS has read access to the directory. After
you copy the directory, log on to the WebSphere Administrative Console to complete the
steps.
2. Go to Servers → Application Servers → <server name>. In the Java and Process
Management section, select Process Definition
3. Select Servant.
4. In the Additional Properties section, expand Java Virtual Machine → Custom
Properties.
5. Add these custom properties as shown in Figure 2-6 on page 20:
– com.ibm.websphere.pmi.reqmetrics.PassCorrelatorToDB = true
– ws.ext.dirs = <user_directory>/ARM where the <user_directory> is the directory
specified in step 1 on page 19.
Chapter 2. EWLM configuration
19
Figure 2-6 JVM Custom Properties panel
6. Set the WAS SERVER ONLY server region libpath variable.
a. Expand Environments → WebSphere variables.
b. Append the WAS SERVER ONLY server region libpath variable to include
:/usr/lpp/VE_R1/EWLM/lib:/usr/lib as shown in Figure 2-7.
Figure 2-7 WebSphere variables panel
Considerations for Java2 Security
If Java2 Security is enabled: In order to use WebSphere Application Server V6 with EWLM,
you must update the WebSphere Application Server server.policy files in the
WAS6_Profile/properties directory, adding the following lines in that file (change
EWLMMS_HOME according to your EWLMMS installation path):
grant codeBase "file:/EWLMMS_HOME/classes/ARM/arm4.jar" {
permission java.security.AllPermission;
};
This avoids a Java 2 security exception for violating the Java 2 security permission.
20
Enterprise Workload Manager z/OS Support
User applications
The following task is required if you want to authorize any applications or middleware running
in your installation to use ARM services. This task is not required if your application is using
enclave support.
For an application that is instrumented using native C or Java services, the user ID the
application is running under either:
򐂰 Must have READ access to the System Authorization Facility (SAF) resource
BPX.WLMSERVER in the FACILITY class.
or
򐂰 Must be defined as a superuser. You can define the user ID as a superuser either with
UID(0) or with READ access to the SAF resource BPX.SUPERUSER in the FACILITY
class using the following commands:
RDEFINE FACILITY BPX.WLMSERVER UACC(NONE)
PERMIT BPX.WLMSERVER CLASS(FACILITY) ID(userid) ACCESS(READ)
2.3.2 Operational commands
The following commands are available to manage the ARM service on z/OS.
Display the status
You can use the following command to verify the status of ARM services on z/OS:
DISPLAY WLM,AM
Example 2-10 is the way the command was used on SC69.
Example 2-10 Display WLM,AM command sample
D WLM,AM
RESPONSE=SC69
IWM075I 15.07.05 WLM DISPLAY 500
EWLM ARM SERVICES ARE ENABLED
EWLM MANAGED SERVER JOBNAME=EWLMMS2 ASID=0049
EWLM POLICY NAME=ITSO TRADE3 AND PLANTS SERVICE POLICY
NUMBER OF REGISTERED PROCESSES=1, APPLICATIONS=1
Enabling ARM services
If EWLM ARM processing becomes disabled, you can enable ARM services by issuing this
command:
MODIFY WLM,AM=ENABLE
The only way to disable the ARM agent is though the operator command. In this case, you
can then use ENABLE to re-enable the services.
Disabling ARM services
To disable EWLM ARM services, issue this command:
MODIFY WLM,AM=DISABLE
Chapter 2. EWLM configuration
21
2.4 Running the workload
To run our scenario, we used the WebSphere workload provided by Trade3.
Trade3 workload was used on the ITSO EWLM management domain to verify and
demonstrate EWLM capabilities. Trade3 is the third generation of WebSphere end-to-end
benchmark and performance sample applications. The Trade3 benchmark models an online
stock brokerage application and has been redesigned and developed to cover the significantly
expanding WebSphere programming model. This simulates a real-world workload driving the
WebSphere implementation of J2EE 1.3, Web Services including key WebSphere
performance components and features.
You can download the distributed Trade3 application from:
http://www.ibm.com/software/webservers/appserv/benchmark3.html
This distributed version of the Trade3 application package assumes that you will install and
run Trade3 entirely on distributed platforms. However, in our environment the Trade3
application was installed on the distributed WebSphere Application Servers but was required
to connect to a backend Trade3 database installed on a DB2 running on our z/OS system.
This required downloading the Trade3 package for the z/OS WebSphere environment and
installing Trade3 within our ITSO environment, utilizing only those elements from each
package as needed.
You can download the z/OS Trade3 application from:
http://w3quickplace.lotus.com/QuickPlace/wasperf/PageLibrary85256DD600586369.nsf/h_C2A5E65F
D719B3DC85256DD600588CFC/523DE1DBA14E2F3185256E69007787C3/
The z/OS Trade 3 package documentation contains the following warning:
Note: the trade package contained in this procedure is a z/OS specific version
intended to be installed in a 'non-clustered' environment (either base on ND) on
WebSphere Application Server for z/OS V5.0x / 5.1.
Of course, our ITSO environment was a clustered configuration consisting of WebSphere
Application Servers on non-z/OS platforms. However, the only portion of the Trade3 for z/OS
package that we needed was setup procedures for a Trade 3.1 database on a z/OS platform.
2.4.1 Create z/OS DB2 database for Trade3
For our purposes the only file we needed to download from the Trade 3.1 for WebSphere
Application Server for z/OS V5.0x / 5.1 Web site was the trade3db_package.jcl.txt file. After
downloading the file to a Windows platform, we only had to complete Step 1 (installing the
trade 3.1 database) from the procedure for installing Trade 3.1 using scripts on z/OS. This
step installs the Trade 3.1 database by customizing and running the Trade 3.1 database job:
1. Upload to a dataset in the TSO environment and customize by following instructions
detailed in the prolog.
2. Submit job to create the TRADE3DB database and its associated tables and table spaces.
We customized the Sample JCL for our environment and chose to edit it and submit it as a
SPUFI job. The SPUFI version of the Sample JCL was executed using the ID mconnol, which
is the ID we will assign to the Data Source on the ewlm4 AIX platform. An additional ID, paola,
was granted access authority to the database and will be assigned to the Data Source on the
ewlm2 Windows Server 2003 platform.
22
Enterprise Workload Manager z/OS Support
2.4.2 Distribute the DB2 Universal JDBC Driver for z/OS
We distributed the db2jcc.jar(at level 2.7.33) and db2jcc_license_cisuz.jar files required to
support the DB2 Universal JDBC Driver Provider (XA) type 4 connections to both the elwm2
and ewlm4 nodes. (You must use a db2jcc.jar at level 2.6.16 or above.)
Both files were sent by FTP into the \db2 directory on the Windows Server 2003 ewlm2 node
and the /db2 directory on the AIX ewlm4 node. The locations of these .jar files will be needed
later when configuring the DB2 Universal JDBC Driver Provider on ewlm2 and ewlm4.
2.4.3 Installing the Trade3 distributed application
You must install the following features of WebSphere Application Server to configure and
deploy the Trade3 application:
򐂰 Administration
– Scripted Administration
򐂰 Embedded Messaging
򐂰 Ant and Deployment Tools
– Deploy Tool
– Ant Utilities
The distributed trade3Install.zip file was downloaded to our ewlm2 system, which also served
as our Deployment Manager. The downloaded file was unzipped and the ReadmeCluster.html
Trade3 installation/configuration instructions were followed, although with modifications.
Step 1 - Prepare for installation includes these steps:
1. Download and unzip the Trade3 install package on the ND Cell Manager host.
2. Open a shell/command window to perform the installation, and change to the t3install
directory.
3. Run the setupCmdLine script to set up your shell environment.
4. Start the WebSphere 5.0 ND Cell Manager.
Because our ITSO WebSphere Network Deployment environment was already
established there was no need to federate, so we skipped this step.
5. On each Node machine, add the Node to the Cell Manager.
We skipped this step, as our Network Deployment environment was already established.
The installation of the Trade 3.1 application into a cluster environment is performed by the
Trade3.jacl script. However, the trade3.ear file provided for use in a distributed environment
was assembled with a backend ID DB2UDBNT_V8_1. This ID will not match the z/OS DB2
that we will connect to so it will be necessary to modify the Trade3.jacl script.
You must replace the default vendor ID used for the DB2 by making the following change to
the Trade3.jacl script:
1. The following statement is located around line 162:
proc installAppOut {cluster dbtype} {
set deployvendor ""
2. Edit it to read:
proc installAppOut {cluster dbtype} {
set deployvendor "-deployejb.dbtype DB2UDB0S390_v7"
Chapter 2. EWLM configuration
23
Under Step 2 - (DB2) Create the DB2 database for Trade3 and Modify DB2 for Read
Stability, we skipped all of the steps because they apply only to a distributed database and
we utilized a DB2 installed on z/OS.
Under Step 3 - Install, configure and start Trade3 application and resources, we
performed these steps:
1. On the ND Cell Manager host, install Trade3 JDBC/JMS resources and application
interactively.
By default (pressing the Enter key), the Trade3.jacl script performs the following actions in
support of the Trade3 application in our Network Deployment configuration:
a. Create a cluster named TradeCluster consisting of two WebSphere Application Server
nodes: ewlm2 and ewlm4.
b. Create an Application Server called TradeClusterServer1 on node ewlm2 and
TradeClusterServer2 on node ewlm4. This is the sequence of steps:
•
Cell → TradeCluster
•
Nodes → ewlm2 → Cluster members → TradeClusterServer1
•
Nodes → ewlm4 → Cluster members → TradeClusterServer2
The %WAS_HOME%\bin\wsadmin -f Trade3.jacl config_install command was
issued from the directory where the setupCmdLine.bat was executed (step 2 on
page 23).
Note: The Trade3.jacl script assumes that the WebSphere cluster is
homogenous and will define a DB2 JDBC Provider (XA) at the cell level.
2. The Trad3.jacl script prompts for the name of the node containing our JMS Server as well
as the Node names of the two nodes we previously federated into our ND configuration.
No default names apply, so here are the prompts along with our replies:
Running Trade in a cluster topology requires one of the nodes to act as the JMS
Server. Please enter one of the nodes where the WebSphere JMS provider is
installed.
Enter the name of the node that contains a JMS Server:
ewlm2
Before this step, you should have run the addNode step at each installed node.
Please enter the node names you used when installing each node.
Enter a node name to add to the cluster or <enter> to end:
ewlm2
Enter a node name to add to the cluster or <enter> to end:
ewlm4
3. A prompt asks for information regarding our database configuration. The answers given to
these prompts are used to configure a DB2 JDBC Provider (XA) at the cell level as well as
a TradeDataSource definition and J2C Authentication entries. Our cluster environment
contains both an AIX and a Windows Server 2003 platform, so the DB2 JDBC Provider
must be defined at the Node level where the platform-specific format of the resource
provider classes can be uniquely entered.
Additionally, in our ITSO environment the ewlm2 node and the ewlm4 node each use a
unique user ID and password for connecting to the Trade3 database on z/OS. The “one
size fits all” approach of the Trade3.jacl script does not satisfy our database requirements.
24
Enterprise Workload Manager z/OS Support
Therefore, we just responded to all database configuration prompts with the Enter key and
accepted all of the defaults. Our manually constructed node level database configuration
(2.4.4, “Configure Trade3 JDBC driver” on page 25) will superseded the resulting cell-level
database configuration.
Note: We observed that although the Trade3.jacl script can be run multiple times, it will not
process any configuration changes if the targeted resource already exits. If you need to
execute the Trade3.jacl script to change a previously defined resource, you must first use
the WebSphere Administration console to delete the resource.
We also accepted the default of yes to the last prompt Install trade application? This will
install the trade3 application onto both the Trade3ClusterServer1 and Trade3ClusterServer2
application servers.
2.4.4 Configure Trade3 JDBC driver
When a Trade3 transaction flows from either the ewlm2 or ewlm4 node to the backend
database on z/OS, the correlator associated with this transaction must also be included as
part of the transaction flow. The support for propagating the ARM correlator from the
WebSphere Application Server hop to the z/OS DB2 hop is provided by the db2jcc.jar JCC
driver. This .jar file provides the DB2 Universal JDBC Driver (also known as the JCC driver),
which supports both JDBC type 2 and type 4 mode and is shipped as part of the z/OS DB2
Universal Database V8.2.
You have to install the db2jcc.jar file at level 2.6.16 or higher. See 2.4.2, “Distribute the DB2
Universal JDBC Driver for z/OS” on page 23 and configure a data source to use this driver.
For reference, we document the procedure we followed to create a JDBC provider:
1. Configure a JDBC provider for node ewlm2 on Windows Server 2003 platform.
a. Log on to the WebSphere Administrative Console.
b. Click Resources → JDBC Providers.
c. Select a Scope of Node, choose ewlm2, and click Apply.
d. Click New to create a new JDBC provider.
e. Select DB2 Universal JDBC Driver Provider (XA) from the pull-down list. Click OK.
f. The settings page for the new JDBC provider appears. Update the Name by prefixing
Trade3 to the default JDBC provider name. Next update the Classpath properties with
the actual path to the previously installed JCC driver .jar files (2.4.2, “Distribute the
DB2 Universal JDBC Driver for z/OS” on page 23). See property values as shown in
Table 2-1 and Figure 2-8. Leave all other property values as they are.
Table 2-1 JDBC provider properties for Trade3
Property name
Value
Name
Trade3 DB2 Universal JDBC Driver Provider (XA)
Classpath
\db2\db2jcc.jar
\db2\db2jcc_license_cisuz.jar
Chapter 2. EWLM configuration
25
Figure 2-8 Create JDBC provider
g. Click Apply.
h. Select Data Sources.
i. Click New to create a new data source within the Trade3 DB2 Universal JDBC (XA)
provider.
j. Enter properties as shown in Table 2-2 and Figure 2-9 on page 27, and click Apply.
Leave other properties as is.
Table 2-2 Data source properties for Trade3
26
Property name
Value
Name
TradeDataSource
JNDI name
jdbc/TradeDataSource
Description
Trade3 Datasource
Component-managed Authentication Alias
TradeDataSourceAuthData
Container-managed Authentication Alias
TradeDataSourceAuthData
Enterprise Workload Manager z/OS Support
Figure 2-9 Create data source
k. Select Custom Properties.
l. Change custom properties as shown in Table 2-3.
Table 2-3 TradeDataSource custom properties
Property name
Value
databaseName
DB8E
driverType
4
serverName
wtsc69.itso.ibm.com
portNumber
38042
m. Click Apply.
n. Click Save.
2. Test the data source connection.
a. Click Resources → JDBC Providers.
b. Select Scope and click Apply.
c. Select Trade3 DB2 Universal JDBC Driver Provider (XA) → Data Sources.
a. Check TradeDataSource and click Test Connection to ensure that the connection for
the datasource is successful.
Figure 2-10 Connection test message
b. Click Save.
c. Check Synchronize changes with nodes and click Save to save all your changes.
3. Restart the application server.
Chapter 2. EWLM configuration
27
Execute the following tasks on the Windows server:
1. Configure a JDBC provider for node ewlm2 on Windows Server 2003 platform.
a. Log on to the WebSphere Administrative Console.
b. Click Resources → JDBC Providers.
c. Select a Scope of Node, choose ewlm2, and click Apply.
d. Click New to create a new JDBC provider.
e. Select DB2 Universal JDBC Driver Provider (XA) from the pull-down list. Click OK.
f. The settings page for the new JDBC provider appears. Update the Name by
prepending Trade3 to the default JDBC provider name. Update the Classpath
properties with the actual path to the previously installed JCC driver .jar files. See
property values as shown in Table 2-4 and Figure 2-11. Leave all other property values
as they are and click OK.
Table 2-4 JDBC provider properties for Trade3
Property name
Value
Name
Trade3 DB2 Universal JDBC Driver Provider (XA)
Classpath
\db2\db2jcc.jar
\db2\db2jcc_license_cisuz.jar
Figure 2-11 Create JDBC provider
g. Click Apply.
h. Select Data Sources.
i. Click New to create a new data source within the JDBC provider.
28
Enterprise Workload Manager z/OS Support
j. Enter properties as shown in Table 2-5 on page 29 and Figure 2-12 on page 29. Leave
other properties as is and click Apply.
Table 2-5 Data source properties for Trade3
Property name
Value
Name
TradeDataSource
JNDI name
jdbc/TradeDataSource
Description
Trade3 Datasource
Component-managed Authentication Alias
TradeDataSourceAuthData
Container-managed Authentication Alias
TradeDataSourceAuthData
Figure 2-12 Create data source
k. Select Custom Properties.
l. Change custom properties as shown in Table 2-6.
Table 2-6 TradeDataSource custom properties
Property name
Value
databaseName
DB8E
driverType
4
serverName
wtsc69.itso.ibm.com
portNumber
38042
m. Click Apply.
n. Select J2C Authentication Data Entries.
o. Select TradeDataSourceAuthData. This TradeDataSourceAuthData was installed as
part of the default.
Chapter 2. EWLM configuration
29
2. Test the data source connection.
a. Click Resources → JDBC Providers.
b. Select Scope and click Apply.
c. Select Trade3 DB2 Universal JDBC Driver Provider (XA) → Data Sources.
d. Check TradeDataSource and click Test Connection to ensure connection for the
datasource is successful.
Figure 2-13 Connection test message
e. Click Save.
f. Check Synchronize changes with nodes and click Save to save all your changes.
3. Restart the application server.
The same tasks are now executed on the AIX server:
1. Configure a JDBC provider for node ewlm4 on AIX platform.
a. Log on to the WebSphere Administrative Console.
b. Click Resources → JDBC Providers.
c. Select a Scope of Node, choose ewlm4, and click Apply.
d. Click New to create a new JDBC provider.
e. Select DB2 Universal JDBC Driver Provider (XA) from the pull-down list. Click OK.
f. The settings page for the new JDBC provider appears. Update the Name by
prepending Trade3 to the default JDBC provider name. Next update the Classpath
properties with the actual path to the previously installed JCC driver .jar files. See
property values as shown in Table 2-7 and Figure 2-14 on page 31. Leave all other
property values as they are and click OK.
Table 2-7 JDBC provider properties for Trade3
30
Property name
Value
Name
Trade3 DB2 Universal JDBC Driver Provider (XA)
Classpath
/db2/db2jcc.jar
/db2/db2jcc_license_cisuz.jar
Enterprise Workload Manager z/OS Support
Figure 2-14 Create JDBC provider
g. Click Apply.
h. Select Data Sources.
i. Click New to create a new data source within the JDBC provider.
j. Enter properties as shown in Table 2-8 and Figure 2-15 on page 32. Leave other
properties as is and click Apply.
Table 2-8 Data source properties for Trade3
Property name
Value
Name
TradeDataSource
JNDI name
jdbc/TradeDataSource
Description
Trade3 Datasource
Component-managed Authentication Alias
TradeDataSourceAuthDataAix
Container-managed Authentication Alias
TradeDataSourceAuthDataAix
Chapter 2. EWLM configuration
31
Figure 2-15 Create data source
k. Select Custom Properties.
l. Change custom properties as shown in Table 2-9.
Table 2-9 TradeDataSource custom properties
Property name
Value
databaseName
DB8E
driverType
4
serverName
wtsc69.itso.ibm.com
portNumber
38042
m. Click Apply.
2. Test the data source connection.
a. Click Resources → JDBC Providers.
b. Select Scope and click Apply.
c. Select Trade3 DB2 Universal JDBC Driver Provider (XA) → Data Sources.
d. Check TradeDataSource and click Test Connection to ensure that the connection for
the data source is successful.
Figure 2-16 Connection test message
e. Click Save.
f. Check Synchronize changes with nodes and click Save to save all your changes.
3. Restart the application server.
32
Enterprise Workload Manager z/OS Support
2.4.5 Verifying the workload through the Control Center
At this point, the ARM instrumentation has been enabled on all of the middleware elements
and the WebSphere workload is running. If we log on to the Control Center, we can verify that
the performance data is monitored and the application topology.
In our scenario, we modify the domain policy described in the redbook IBM Enterprise
Workload Manager, SG24-6350. We use the same classification rules against the same
transaction classes in order to obtain very granular reporting but we associate the service
class to only three service classes to make the comparison with the z/OS easier.
Figure 2-17 shows the workload in this transaction class.
Figure 2-17 Transaction Class report
We select the transaction class TC_Trade3_general and the Application Topology task.
Figure 2-18 shows the application middleware layers that are part of this transactions group.
You can see that because the transactions are getting to DB2 on z/OS through DDF, they are
accounted as separate transactions running on the DB2 hop.
Figure 2-18 Application topology
Chapter 2. EWLM configuration
33
We can also verify the servers that are hosting the middleware elements by selecting the
transaction class TC_Trade3_quotes and the Server Topology task. Figure 2-19 shows the
servers that are part of this transactions group. You can see the z/OS managed node icon as
the last hop in the transaction flow.
Figure 2-19 Server topology
The next chapter explores the performance information that EWLM provides and how you can
relate them to the data provided by zWLM.
34
Enterprise Workload Manager z/OS Support
3
Chapter 3.
Monitoring and reporting
This chapter presents some background information for the coexistence of EWLM and zWLM
policies, and the concept of transaction in EWLM, zWLM, and DB2. It also discusses the
monitoring and reporting data provided by EWLM Control Center and by Resource Monitoring
Facility (RMF) and DB2 Performance Expert (DB2PE) for z/OS, highlighting and explaining
the correlations and the differences.
This chapter contains the following topics:
򐂰 EWLM and zWLM policies
򐂰 EWLM, zWLM, and DB2 transaction concept
򐂰 Monitoring the workload with EWLM
򐂰 A comparison between monitoring reports
© Copyright IBM Corp. 2005. All rights reserved.
35
3.1 EWLM and zWLM policies
EWLM and zWLM are driven by different service policies, operate independently, and have
different scopes. EWLM manages multi-tiered application environments that may run on
different hardware platforms and operating systems including z/OS and has an end-to-end
scope of control. The zWLM scope is limited to z/OS platforms. The future might see
functionality that converges these policies.
As shown in Figure 3-1, EWLM and zWLM policy structures are conceptually the same. The
main difference is related to the Work Managers and to the logical components that receive
and submit the work requests. As Work Managers, EWLM supports applications and
platforms, and zWLM supports several subsystems, including CB, CICS®, DDF, IMS™.
To associate a work request to a Service Class, a Work Manager passes some attribute
values that EWLM matches against filters and zWLM matches against subsystem work
qualifiers. This process is called classification.
EWLM and zWLM Policy
EWLM
Domain Policy
Service Policy
Workloads
Service classes
Applications
Transaction classes
Filters
Platforms
Process classes
Filters
zWLM
Service Definition
Service Policy
Workloads
Service classes
Subsystems Classification
rules
- Work qualifiers
Report classes
Application environments
Scheduling environments
Options
Figure 3-1 WLM and zWLM policies
The attribute values for work requests received by the entry application of an EWLM
management domain might be different from those passed to zWLM by JDBC type 4 if the
business transaction has to be sent to a z/OS hop to get data, especially if the classification
on the distributed platform happened in an application environment other than DB2. For this
reason it may not always be possible to have a one-to-one mapping for EWLM service
classes and zWLM service classes.
As an example refer to Figure 3-2 on page 37 where the EWLM and zWLM classification logic
is shown for application transactions whose topology uses a z/OS hop as a database server.
36
Enterprise Workload Manager z/OS Support
Distributed Application Topology - EWLM, zWLM Classification Logic
DDF work qualifiers
- accounting info
- collection name
- correlation info
- package name
- plan name
- store proc name
- userid
- .........................
Application Filters
- URI
- query string
- transaction name
- application instance
- user name
- managed domain name
- ...............................
Figure 3-2 Classification flow
The policies set up to run Trade3 workload in the ITSO environment have three service
classes specified for the distributed application in the EWLM domain policy and one service
class specified for subsystem DDF in the zWLM policy. In our configuration, the Trade3
workload uses the HTTP plugin middleware as entry point, so we specified the classification
rules only for the application IBM Webserving Plugin in the EWLM service policy.
Table 3-1 is a summary of the EWLM policy definitions:
Table 3-1 Definition for the Trade3 workload service classes
Service
class
Transaction class
Application
Filter type
Filter
Filter value
SC_Trade3_s
hopping
TC_Trade3_buy
IBM Webserving
Plugin
EWLM:URI
Equal
/trade(\*)
+ QueryString
Equal
action=buy(\*)
SC_Trade3_s
hopping
TC_Trade3_sell
IBM Webserving
Plugin
EWLM:URI
Equal
/trade(\*)
+ QueryString
Equal
action=sell(\*)
SC_Trade3_
general
TC_Trade3_account
IBM Webserving
Plugin
EWLM:URI
Equal
/trade(\*)
+ QueryString
Equal
action=account(\*)
SC_Trade3_
general
TC_Trade3_register
IBM Webserving
Plugin
EWLM:URI
Equal
/trade(\*)
+ QueryString
Equal
action=register(\*)
Chapter 3. Monitoring and reporting
37
Service
class
Transaction class
Application
Filter type
Filter
Filter value
SC_Trade3_
general
TC_Trade3_update_profile
IBM Webserving
Plugin
EWLM:URI
Equal
/trade(\*)
+ QueryString
Equal
action=update_profile(\*)
SC_Trade3_
default
TC_Trade3_home
IBM Webserving
Plugin
EWLM:URI
Equal
/trade(\*)
+ QueryString
Equal
action=home(\*)
SC_Trade3_
default
TC_Trade3_logout
IBM Webserving
Plugin
EWLM:URI
Equal
/trade(\*)
+ QueryString
Equal
action=logout(\*)
SC_Trade3_s
hopping
TC_Trade3_portfolio
IBM Webserving
Plugin
EWLM:URI
Equal
/trade(\*)
+ QueryString
Equal
action=portfolio(\*)
SC_Trade3_
general
TC_Trade3_quotes
IBM Webserving
Plugin
EWLM:URI
Equal
/trade(\*)
+ QueryString
Equal
action=quotes(\*)
SC_Trade3_s
hopping
TC_Trade3_general
IBM Webserving
Plugin
EWLM:URI
Equal
/trade(\*)
Figure 3-3 is a summary of the filters and classification rules used in the EWLM and zWLM
policies.
EWLM and zWLM Classification
Application - IBM Webserving
Plugin
Service Classes
SC_Trade3_shopping
SC_Trade3_general
SC_Trade3_defauly
Filters
EWLM:URI Equal /trade(\*)
QueryString Equal action=...
Subsystem DDF
Service Class
SCDB2STP
Plan Name DISTSERV
Figure 3-3 Classification rules
The reason why we were not able to put together a one-to-one relationship among EWLM
and zWLM service classes is that, for a JDBC type 4 application, attribute values passed to
zWLM, such as PLAN, PACKAGE, CONNECTION, and CORRELATION, are the same for
each message sent to DDF. In our scenario these are the attribute values passed to DDF:
򐂰
򐂰
򐂰
򐂰
38
PLAN = DISTSERV
PACKAGE = SYSLN300
CONNECTION = SERVER
CORRELATION = db2jccSe
Enterprise Workload Manager z/OS Support
The USERID attribute passed to zWLM changes, the reason being the association to each of
the two WebSphere Application Servers in the configuration (ewlm2, ewlm4). Because
different transaction types are executed in the WebSphere Application Server, the USERID
attribute could not be used to link transactions to different zWLM service classes.
Example 3-1 is a DB2 PE accounting report (short type) where you can see the work qualifier
for these transactions.
Example 3-1 DDF work qualifiers
LOCATION: DB8E
GROUP: N/P
MEMBER: N/P
SUBSYSTEM: DB8E
DB2 VERSION: V8
DB2 PERFORMANCE EXPERT (V2)
ACCOUNTING REPORT - SHORT
PAGE: 1-1
REQUESTED FROM:
TO:
INTERVAL FROM:
TO:
ORDER: CONNECT-PLANNAME
SCOPE: MEMBER
ALL
DATES
04/19/05
04/19/05
15:00:00.00
15:20:00.00
15:00:00.62
15:19:59.98
CONNECT
£OCCURS £ROLLBK SELECTS INSERTS UPDATES DELETES CLASS1 EL.TIME CLASS2 EL.TIME GETPAGES SYN.READ LOCK SUS
PLANNAME
£DISTRS £COMMIT FETCHES
OPENS CLOSES PREPARE CLASS1 CPUTIME CLASS2 CPUTIME BUF.UPDT TOT.PREF £LOCKOUT
--------------------------- ------- ------- ------- ------- ------- ------- -------------- -------------- -------- -------- -------SERVER
DISTSERV
17168
17168
0
17168
0.00
3.56
0.16
2.23
0.27
0.00
0.00
2.28
0.019523
0.002156
0.004103
0.001528
10.91
0.87
0.00
0.26
0.00
0
------------------------------------------------------------------------------------------------------!PROGRAM NAME
TYPE
£OCCURS SQLSTMT CL7 ELAP.TIME
CL7 CPU TIME CL8 SUSP.TIME CL8 SUSP!
!SYSLN300
PACKAGE
17168
13.07
0.002394
0.001428
0.000742
0.35!
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------!REQUESTER
METH £DDFS
TRANS £ROLLBK £COMMIT SQLRECV ROWSENT CONVI!
!9.12.4.138
DRDA
8536
0.00
0
0
10.85
1.32
0.00!
!9.12.4.140
DRDA
8632
0.00
0
0
10.91
1.33
0.00!
----------------------------------------------------------------------------------1
LOCATION:
GROUP:
MEMBER:
SUBSYSTEM:
DB2 VERSION:
DB8E
N/P
N/P
DB8E
V8
DB2 PERFORMANCE EXPERT (V2)
ACCOUNTING REPORT - SHORT
ORDER: CONNECT-PLANNAME
SCOPE: MEMBER
TOP FIELD: PROCESSING (CL.2) TIME SPENT IN DB2
---1
PAGE:
REQUESTED FROM:
TO:
INTERVAL FROM:
TO:
CONNECT
PLANNAME
-------------------------------------------------------SERVER
DISTSERV
TOP NUMBER REQUESTED:
VALUE
--------------26.238675
1-2
ALL
DATES
04/19/05
04/19/05
15:00:00.00
15:20:00.00
15:00:00.62
15:19:59.98
10
PAGE
---------1-1
ACCOUNTING REPORT COMPLETE
It is also possible to classify based on the first stored procedure called in a transaction, but
this was not our case.
Tip: If you need to differentiate DDF transactions coming from a distributed environment,
you can use one of the following programming approaches:
򐂰 Use a different datasource within WebSphere Application Server for each classification
and use a specific datasource within the application. Each datasource could have either
a different AUTHID associated with it, or a JDBC driver collection. It is possible to
classify based on either of those.
򐂰 Use DB2 client strings, which are text attributes associated with the connection that can
be used for classification of the workload. The client strings can be set as a part of the
datasource definition, or they can be set within the application so that every transaction
can have a different value. Client strings can be used for workload classification and for
end-to-end auditing. The fields are written in DB2 accounting reports. The
recommended client strings are application name and end user id. Additional
information is available in the white paper Managing Enterprise Java Applications for
DB2, G507-1457.
Chapter 3. Monitoring and reporting
39
3.2 EWLM, WLM, and DB2 transaction concept
A domain manager and managed servers are components of an EWLM management
domain. The domain manager runs on one server in the management domain, and the
managed server runs in every server that is hosting workload that should be monitored. The
managed server EWLM component collects, correlates, and aggregates three types of data:
򐂰 Transaction data flowing through ARM instrumented middleware
򐂰 Process data for non-instrumented applications (not supported in z/OS)
򐂰 System resources data
To monitor work requests in a multi-tiered heterogeneous environment, you should be able to
identify and track the performance of those requests across server boundaries. It is possible
to collect this data using versions of middleware that have been instrumented with ARM V4.0
standard. These are a set of interfaces that an application calls and are then used by EWLM
to calculate response time and status of work processed by the application.
Figure 3-4 shows a general flow of core ARM function calls used by an application that EWLM
supports for capturing transaction data.
A p p lic a tio n C o d e
I n itia liz a tio n
a r m _ r e g is te r _ a p p lic a tio n
a r m _ s ta r t _ a p p lic a t io n
a r m _ r e g is te r _ t r a n s a c tio n
T r a n s a c tio n p r o c e s s in g
a r m _ s t a r t_ tr a n s a c tio n
d o w o rk
a r m _ b lo c k _ tr a n s a c tio n
p a s s r e q u e s t t o a n o th e r s e r v e r
a r m _ u n b lo c k _ t r a n s a c t io n
c o m p le t e w o r k
a r m _ s t o p _ t r a n s a c t io n
Te r m in a tio n
a r m _ s to p _ a p p lic a t io n
a r m _ d e s tr o y _ a p p lic a t io n
Figure 3-4 API flow
This is a quick look at the function calls:
򐂰 An application issues arm_register_application to become registered with EWLM by its
application name and arm_start_application to indicate that the application is active.
Transaction registration via arm_register_transaction is similar to application registration,
and each transaction is associated to an application.
򐂰 arm_start_transaction indicates that a transaction is starting on this application or
middleware and EWLM starts response time timing.
򐂰 arm_block_transaction indicates that the transaction instance is blocked because it is
waiting for some other service to complete (for example, WebSphere waits for a DB2 call
to complete).
40
Enterprise Workload Manager z/OS Support
򐂰 arm_unblock_transaction indicates that the transaction is no longer blocked. Therefore,
the time between arm_block_transaction and arm_unblock_transaction can be
distinguished from the elapsed time between arm_start_transaction and
arm_stop_transaction.
򐂰 arm_stop_transaction signals the end of a transaction; EWLM stops timing the response
time.
򐂰 arm_stop_application indicates that the application instance is ending. Therefore, no more
transactions can be started or stopped. arm_destroy_application removes the registration.
Note: A transaction in an EWLM environment is encapsulated between an
arm_start_transaction and an arm_stop_transaction function calls issued by an
application or middleware.
3.2.1 ARM enablement on z/OS
Workload Manager on z/OS has provided workload management services to middleware
such as DB2, WebSphere, CICS, and IMS for a long time. For example, DB2 DIST uses WLM
enclave services to schedule and process received work requests. In the current
implementation, EWLM on z/OS leverages the existing WLM services and maps them to
ARM calls, so that EWLM managed server can simply pick up the performance data and send
it to the domain manager. Figure 3-5 depicts a general flow.
ARM and Enclave
DB2 DDF - DB2DIST address space
Connect to W LM (IW N CO NN )
arm _register_application
EW LM M S address space
EW LM _connect
arm _start_application
arm _register_transaction
Policy m anagem ent
Collect data
Send data to Control
Center
EW LM _disconnect
Transactions
E
N
C
L
A
V
E
T
R
A
N
A
R
M
T
R
A
N
S
Create enclave (IW MECREA)
Enclave workrequest start and
stop calls ( IW M ESTR T, IW M ESTO P )
arm _start_transaction
arm _stop_transaction
arm _start_transaction
arm _stop_transaction
arm _start_transaction
arm _stop_transaction
Enclave delete (IW M EDELE)
D isconnect from W LM
arm _stop_application
arm _destry_application
Figure 3-5 ARM and enclave
When EWLM address space is started it connects to WLM. Its main functions are:
򐂰 Manage the EWLM policy received from the domain manager.
򐂰 Collect the performance data and send it to the domain manager.
When DB2 is started it connects to WLM and specifies that it will participate in EWLM. DB2
DIST address space is then registered to ARM on z/OS as an EWLM application participant.
Chapter 3. Monitoring and reporting
41
ARM data is captured only if a correlator is sent in from an ARM enabled distributed
application such as WebSphere; otherwise, DB2 continues processing distributed requests
as it usually does.
When DB2 receives the correlator from a distributed application, DB2 DDF creates an
enclave and starts a work request. Attribute values such as PLAN, PACKAGE, and
CONNECTION are passed with the correlator to zWLM to classify the work request and
associate it to a service class.
When an enclave is created by DDF, an arm_start_transaction is implicitly invoked to mark
the beginning of a transaction, then an arm_stop_transaction gets called at the end of
processing a database request message. A pair of start and stop transaction is associated
with each database request message from a distributed application or DRDA® requester until
a commit is received and the enclave is then deleted.
In other words, in an EWLM environment, a DB2 transaction no longer has the same meaning
as one enclave transaction, or a unit-of-work between two DB2 commits. In our case, a
transaction becomes an ARM work request, and its elapse time is simply the duration of
receiving and processing a database request message to DB2 from the DRDA requestor.
Figure 3-6 illustrates where in monitor reports you can find the number of ARM and enclave
transactions.
O c c u rre n c e s (D B 2 P E )
D B A T s (D B 2 P E )
C o m m its (D B 2 P E )
T ra n s a c tio n E n d e d (R M F )
R e p o rte d a s
E n c la v e
c re a te
(IW M E C R E A )
E n c la v e
d e le te
(IW M E D E L E )
S R M tra n s a c tio n
a rm w o rk
re q u e s t
(a rm tra n )
R e p o rte d a s
a rm tra n
a rm tra n
a rm tra n
a rm tra n
Legenda:
a rm _ s ta rt_ tra n s a c tio n
a rm _ s to p _ tra n s a c tio n
A p p lic a tio n & S e rv e r To p o lo g y Ta b le v ie w (E W L M )
D is trib u te d A c tiv ity M e s s a g e s (D B 2 P E )
D R D A M e s s a g e s (D B 2 P E )
Figure 3-6 ARM and enclave transaction relationships
EWLM Control Center reports the number of transactions (ARM work requests) in application
and server topology tableview. See Figure 3-23 on page 57.
The number of ARM transactions (ARM work requests) are reported as Messages in the
Distributed Activity and DRDA REMOTE LOCSDB2 sections of the Performance Expert
accounting and statistics reports.
An enclave transaction corresponds to an SRM transaction and its number is reported as
occurrences, DBATS, and commits by DB2 Performance Expert, and Transaction Ended by
RMF in the Workload Activity report in the Service class and Report class.
42
Enterprise Workload Manager z/OS Support
3.3 Monitoring the workload with EWLM and z/OS
The database server configuration consists of a z/OS 1.6 LPAR with two logical CPs on an
IBM zSeries 990 2084-318. The LPAR is a sysplex image in which a DB2 data sharing group
is active. Only the DB2 member DB8E, active in our partition, is used as database server by
the distributed application.
Because the DB2 workload during our test runs was light, we decided to load the image with
some batch jobs with a CPU-intensive profile to generate some contention. (See Figure 3-15
on page 50.) During our tests there was no contention with the other logical partitions defined
in the processor.
Figure 3-7 shows the service class goals for the z/OS workloads that were run during our
tests.
zWLM - Workloads Service Classes
DB2 server A.S. (DBM1, MSTR,
IRLM), DB2DIST
SYSSTC
Subsystem DDF
SCDB2STP
1. Avg r/t 20 msec, importance 2,
duration 100 (around 2 mips)
2. Vel 50%, importance 3
Subsystem JES
DISC
1. Discretionary
Figure 3-7 DDF service class on z/OS
We classify the DB2, MSTR, DBM1, DIST, and IRLM address space in the SYSSTC service
class, although in a production environment we suggest assigning the DB2, MSTR, DBM1,
and DIST address spaces to a managed service class with an IMP of 1, velocity of 50 or 60,
and IRLM to the SYSSTC service class.
The RMF recording interval is set to one minute. To collect DB2 monitor data, accounting and
statistic traces have been started as shown in Example 3-2.
Example 3-2 DB2 trace activation
-DB8E DISPLAY TRACE
RESPONSE=SC69
DSNW127I -DB8E CURRENT
TNO TYPE
CLASS
01 STAT
01,03,04,05,
01
06
02 ACCTG 01
03 ACCTG 01,02,03,07,
03
08
TRACE ACTIVITY IS DEST QUAL
SMF NO
SMF
SMF
NO
NO
Chapter 3. Monitoring and reporting
43
Note: To be able to relate the EWLM Control Center and z/OS RMF and DB2 monitors
information, we confirmed that the platform clocks were synchronized at one minute
boundary.
To analyze the workload behavior we use a top-down approach; that is, we start from the
EWLM Control Center information and then we drill down to the z/OS monitors data. Because
z/OS does not support EWLM process classes, the scope of our analysis is limited to the
service and transaction classes, and managed servers.
You should already be familiar with the EWLM Control Center and you should know that, to
exploit the top-down approach logic, it provides high-level views to address a problem and
detail views to obtain more in-depth statistics.
In summary the selectable high-level views from the Control Center Monitor panel are:
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
Exceptions
Workloads
Service classes
Transaction classes
Process classes (not supported by z/OS)
Managed servers
From each of the high-level views, you can get selectable reports by choosing a pull-down
option. These are the low-level views:
򐂰 Detailed monitor reports about service, transaction, process classes, and managed servers
򐂰 Topology reports for the service and transaction classes with additional detailed statistics
򐂰 Real-time performance monitors for:
– Goal achievement
– Transaction rate and count
– Processor utilization
EWLM domain manager maintains statistics data for one-hour intervals with a wrap-around
logic. The EWLM Control Center displays the aggregated statistics for the interval starting
from the last minute sampled with the duration length selected through the preference interval
duration pull-down option.
The first step in controlling the behavior of our EWLM managed domain is to go through the
high-level views. Some fields in the views are described in this Redpaper, and additional
information is available in the help panels of the EWLM Control Center, in the IBM Redbook
IBM Enterprise Workload Manager, SG24-6350, and in the Redpaper Enterprise Workload
Manager - Interpreting Control Center Performance Reports, REDP-3963.
We start from the Exceptions view that reports the service classes that are not meeting their
performance objectives. A service class is listed in the exception report if its performance
index (PI) is greater than 1. If no service classes are listed in this report, all of the service
classes are meeting or exceeding their goals, as happened during our test.
As an example of the Exceptions view, see Figure 3-8 on page 45. Service class
SC_Trade3_default, importance medium, average response time goal of 100 milliseconds,
had a PI of 1.24 because the average response time in the last 30 minutes has been
124 milliseconds.
44
Enterprise Workload Manager z/OS Support
Figure 3-8 Exception view
We now go through high-level views to summarize the views objectives and depict our
management domain environment.
򐂰 Workloads: Identifies the workloads that are defined in the active domain policy. If a
service class appears in the Exceptions report, you can use the Workloads view to
determine which workload is affected by the service class that is not meeting its goal.
Figure 3-9 shows the Workloads view of the domain policy deployed in our environment.
Figure 3-9 Workloads view
Chapter 3. Monitoring and reporting
45
򐂰 Service Classes: Specifies all of the service classes that are defined in the active domain
policy. In Figure 3-10 you can view performance statistics for each service class defined in
our domain policy. You can see that the workload Trade3 uses only the first three service
classes because we have the PI value along with the performance and achieved goal. The
service class SC_internetExplorer reports a PI because an Internet Explorer
administrative session is opened for the server ewlm2, which runs on a Windows platform.
Figure 3-10 Service Classes view
򐂰 Transaction Classes: Specifies all of the transaction classes for each application defined in
the active domain policy. In Figure 3-11 you can view the performance statistics for each
transaction class along with the entry application and the associated service class. You
can see the 10 service classes used by workload Trade3.
Figure 3-11 Transaction Classes view
46
Enterprise Workload Manager z/OS Support
򐂰 Managed Servers: Identifies all of the managed servers in the EWLM domain. In
Figure 3-12 you can view the status of the four servers of our configuration, the processor
utilization percentage over the specified interval, that the operating system is running, and
the release level.
Figure 3-12 Managed Servers view
When you access a high-level view, you can select a low-level view in the Select Action field.
The low-level views provide more detailed statistics as:
򐂰 Details reports: Specifies transaction and performance details for a specific report.
򐂰 Topologies: Another way of drilling down to see detailed data for a monitored service or
transaction class in the EWLM management domain.
򐂰 Real-time performance monitors: Provides graphical views that EWLM updates
automatically. The specific available monitor views are:
– Goal achievement monitor
– Processor utilization monitor
– Transaction count and rate monitor
In Managed Servers view, Figure 3-12, you can see the managed server
wtsc69.itso.ibm.com, which runs the operating system z/OS Release 1.6 and has 89.0%
average processor utilization over the specified one-hour interval.
To see more detailed information, we select the low-level view Managed server details in the
Select Action field. Figure 3-13 on page 48 shows the report.
Chapter 3. Monitoring and reporting
47
Figure 3-13 Managed Server details view
The view has two sections: Statistics and Service classes processed in the server.
Statistics: This section specifies performance data that is specific to this managed server.
򐂰 Managed server name: Unique name by which a server is known on a network. The name
consists of the host name (wtcs69) and domain name (itso.ibm.com).
򐂰 Average processor utilization %: Average processor utilization (88.1%) of the managed
server that includes all work requests that the server is processing, not just the EWLM
monitored work.
Important: The reported average processor utilization percentage includes only the
captured time that corresponds to the APPL% of workload activity RMF report for
policy.
򐂰 Real memory: Total amount of memory of the LPAR hosting the server.
򐂰 Number of logical processors: Number of logical CPs of the LPAR.
򐂰 Page fault rate: Number of page faults per second managed by the operating system. A
high number means that the memory is not sufficient to sustain all of the workloads the
server is running, not just the EWLM monitored work.
48
Enterprise Workload Manager z/OS Support
򐂰 Application (Group): Application instances that support EWLM monitored work. In our
domain the application environment name is DDF associated to DB2 member DB8E.
Service classes processed in server: This section reports all service classes associated with
the managed server.
򐂰 Service class name: Name of the EWLM domain policy service class associated to a
transaction by the Entry application. This is not the zWLM service class used to manage
the DDF workload in z/OS.
Important: The following using and delay percentages are derived from zWLM sampling
status data for the zWLM service classes managing the EWLM monitored workload.
Status samples categories are: (processor using), (processor, i/o, storage, others delays),
and idle. The percentages are derived from using and delay status samples with the
exclusion of the idle status samples.
Because there may not be a one-to-one relationship between an EWLM service or
transaction class and a zWLM service class, the using and delay sample data provided by
zWLM are apportioned to EWLM service or transaction classes with a weighted average
based on EWLM service classes transaction rate and active time. Transaction active time
is explained within the fields description on page 55.
򐂰 Processor utilization %: This value indicates the percentage of the number of samples
when the EWLM monitored workload was found using the processor. It should be read as
Processor using %.
Important: This information should not be interpreted as the percentage of the average
server processor utilization used by the service class.
򐂰 Processor delay %: This value indicates the percentage of the number of samples when
the EWLM monitored workload was found delayed because the processor was busy with
other workloads.
򐂰 Storage delay %: This value indicates the percentage of the number of samples when the
EWLM monitored workload was found delayed because of page faults.
򐂰 I/O delay %: This value indicates the percentage of the number of samples when the
EWLM monitored workload was found delayed waiting for an I/O operation to complete.
A processor utilization real-time performance monitor view is selectable from the pull-down
list. The view shows the processor utilization with one-minute granularity, and it covers a
one-hour interval with a scrollable cursor. Figure 3-14 on page 50 shows the graph.
Chapter 3. Monitoring and reporting
49
Figure 3-14 Processor utilization monitor
For comparison, Figure 3-15 shows CPU utilization reported by RMF Monitor I for a time
frame that includes the EWLM Control Center Processor utilization view. There is a little
difference because the EWLM Control Center does not report the uncaptured time (the top
layer in Figure 3-15). You may also notice that the main LPAR load is batch.
Figure 3-15 RMF Mon I processor utilization
50
Enterprise Workload Manager z/OS Support
Server wtsc69.itso.ibm.com hosts three service classes monitored by EWLM. To drill farther
down the behavior of EWLM monitor workload, from the Service Class high-level view we
select SC_Trade3_general for a Service class detail view as shown in Figure 3-16.
Figure 3-16 Service class details view
The view has three sections: Attributes, Statistics, and a Response Time Distribution Chart.
򐂰 Attribute: This section includes the following items:
–
–
–
–
A description of the service class
The workload to which the service class belongs
The goal type, the goal, and the importance
The transaction classes that are associated with this service class
򐂰 Statistics: This section specifies performance data that is specific to this service class.
– Performance: A value that specifies the actual performance, response time, of the
transaction processed by the service class in the interval. A transaction starts and
terminates in the outer hop 0 at the middleware level, and the response time covers the
end-to-end elapsed time.
– Performance index: A value that indicates how well the service class is meeting the
goal. If the PI is less than or equal to 1, the goal is being met; if it is greater than 1, the
goal is not met.
– Transactions: Completed successfully: The number of transactions associated with this
service class that successfully completed processing at hop 0 level. A transaction rate
real-time monitor view is selectable from the pull-down list. The view shows the
transaction rate with one-minute granularity, and it covers a one-hour interval with a
Chapter 3. Monitoring and reporting
51
scrollable cursor. Figure 3-18 on page 53 shows an example for the
SC_Trade3_general service class.
– The number of transactions that Failed, Stopped, Ended in unknown state, and the
Total. Failed or stopped transactions can be caused by middleware or operating system
problems or user errors. The hop where the error may have been occurred is not
indicated.
򐂰 Response Time Distribution Chart: For service classes specifying Average or Percentile
response time, a graph is presented for the selected interval length. Figure 3-17 shows
service class SC_Trade3_general Response Time Distribution Chart covering a one-hour
interval.
SC_Trade3_general service class
Figure 3-17 Response Time real-time monitor
52
Enterprise Workload Manager z/OS Support
Figure 3-18 Transaction rate real-time monitor
Because the transactions that are associated with a service class are considered end-to-end
transactions, we now select from the Service Classes high-level view pull-down option the
topology views to see the applications and servers that are processing the service class.
Topology provides a graphical view of the service and transaction classes in the EWLM
management domain. From the topology view, you can determine which servers are
processing work for each application.
Application topology is a starting point for understanding the transaction flow as well as for
problem determination. The view is a visual of the transaction as it traverses through the
middleware applications and the servers where the middleware resides. Figure 3-19 shows
the Application topology for service class SC_Trade3_general.
DDF
application
Figure 3-19 Application topology view
Chapter 3. Monitoring and reporting
53
Server topology is similar to the Application topology view and shows all servers that the
transaction traversed. Clicking on the server boxes, you can see the middleware applications
resident on the server that the transaction traversed. Figure 3-20 on page 54 shows the
server topology for service class SC_Trade3_general.
z/OS server
Figure 3-20 Server topology view
From either topology view, we select the tableview icon for detailed statistics about the
amount of resources that each application or server is absorbing along with more granular
data such as the average response times, delays percentages, number transactions that
completed successfully or unsuccessfully, and many other granular statistics.
Depending on which topology view you display, you can see some differences in the tableview
data.
򐂰 Application topology: The data related to service or transaction classes is for the
middleware application environments. If an application environment spans more than one
server, the tableview will have more than one instance row and the application
environment row aggregates the data for all instances (scope application).
򐂰 Server topology: The data related to service or transaction classes is for the middleware
applications active on the specific server (server scope).
Figure 3-21 shows the rightmost part of the tableview window from the application topology
view for service class SC_Trade3_general. We selected the application topology because we
are interested in data for the z/OS platform.
54
Enterprise Workload Manager z/OS Support
Figure 3-21 Tableview data for SC_Trade3_general service class
The table fields for the z/OS platform have the following meanings:
򐂰 Hop: Indicates the application or server where a transaction is processed. The database
server on z/OS is hop 2.
򐂰 Name: Name of the server, application, and instance to which the transaction moved.
򐂰 Type: Describes whether the Name field is server (instrumented operating system),
application environment (instrumented middleware), or instance (DB2 instance). The
application environment DDF has one instance (DB8E).
򐂰 Platform: Specifies the operating system on which the server is running (z/OS).
򐂰 Average response time: The field indicates the average amount of time in seconds that the
transactions classified to the service class spent at this middleware hop plus any time
spent in downstream hops. The average response time is the elapsed time from the
arm_start_transaction and the arm_stop_transaction API calls. In our sample, the average
response time is the same as the active time because this is the last hop. It includes the
queue time within DDF and it is 1 millisecond.
򐂰 Average active time: The field indicates in seconds how long the server took to process
the request. Active time does not include the time the application indicates that the request
is blocked because it is waiting for a subtransaction sent to another server (hop) to
complete.
In our example the active and response time are the same because DDF middleware is
the last hop. See Figure 3-22 on page 56 for response and active times concepts. Our
example shows a one-to-one relationship among hops, though this is not always the case.
Attention: In Figure 3-21, hop 1 average response time is 9 - 11 milliseconds and
average active time is 6 - 7 milliseconds; consequently the average block time is 3 - 4
milliseconds or the waiting time for hop 2 to complete the request.
Hop 2 average response and active time is 1 millisecond with no queue time, so the
2 - 3 milliseconds not accounted for might be network time.
Chapter 3. Monitoring and reporting
55
arm _start_transaction
arm _stop_transaction
arm _blockt_transaction
arm _unblockt_transaction
response tim e
hop 0
active tim e
active tim e
arm _start_transaction
arm _stop_transaction
hop 1
arm _blockt_transaction
arm _unblockt_transaction
response tim e
active tim e
hop 2
active tim e
arm _start_transaction
arm _stop_transaction
response tim e
active tim e
Figure 3-22 Transaction response and active time flow
Important: The following processor time, using, and delay percentages are derived from
zWLM data for the zWLM service classes managing the EWLM monitored workload.
Status samples categories are: (processor using), (processor, i/o, storage, others delays),
and idle. The percentages are derived from using and delay status samples with the
exclusion of the idle status samples.
Because there may not be a one-to-one relation between an EWLM service or transaction
class and a zWLM service class, the processor time, using, and delay sample data
provided by zWLM are apportioned to EWLM service or transaction classes with a
weighted average based on EWLM service classes transaction rate and active time.
Processor time (seconds): This field shows the actual CPU time used over the interval (in our
example the interval is one hour). In Figure 3-21 on page 55, 01:20.764565 should be read as
1 minute, 20 seconds, 764 milliseconds.
򐂰 Processor delay%: This field shows the percentage of time the application was not able to
obtain processor resource when requested over the interval.
򐂰 Processor using%: This field shows the percentage of time the application was able to
obtain processor resource when requested over the interval.
The Figure 3-23 on page 57 shows the leftmost part of the Tableview window from the server
topology view for service class SC_Trade3_general.
56
Enterprise Workload Manager z/OS Support
Figure 3-23 Tableview window for SC_Trade3_general service class
The table fields for the z/OS platform have the following meanings:
򐂰 Successful transactions: This field specifies the number of transactions associated to the
service class that successfully terminate its processing in hop 2, the database server on
z/OS. A transaction is delimited by issuing arm_start_transaction, arm_stop_transaction at
the middleware level, in our case DDF.
Note: This transaction count is for hop 2 middleware; it should not expect a one-to-one
relationship with the hop 0 transaction count in the first row of the tableview (137582) or
in the transaction count of the Service Class detail view. See Figure 3-16 on page 51.
򐂰 I/O%. This field shows the percentage of time the application was waiting for an I/O to
complete.
򐂰 Page delay%: This field shows the percentage of time the application was delayed
because of a page fault: central storage not available.
򐂰 Idle%: This field shows the percentage of time the application threads were in idle state.
This status is not used to evaluate the processor using and delay percentages.
򐂰 Other%: This field shows the percentage of time the application was found in a non-idle
state that could not be accounted to page, processor, or I/O delay.
򐂰 Hard page faults%: This field shows the number of page faults solved by doing a physical
I/O.
򐂰 Average queue time (seconds): This is the time spent in the middleware preceding the
actual processing of the transaction arm_start_transaction. Our example shows
13 milliseconds; this is a known problem where the value is currently reported incorrectly
and it is addressed by the next release.
򐂰 Standard deviation (seconds): This field specifies a numerical value that indicates how
much the transactions deviate from average response time.
There are other fields such as Stopped, Failed transactions, Topology uncertainty count, and
Reporting gap count, which are not addresses in this Redpaper.
Chapter 3. Monitoring and reporting
57
3.4 A comparison between monitoring reports
Now we correlate EWLM Control Center monitoring data with data provided by RMF and DB2
PE monitors for the application environment DDF.
Example 3-3 contains the control statements used to obtain the RMF and DB2 PE report.
Example 3-3 RMF and DB2 PE control statements
--- RMF-------------------------------------------------------------------SUMMARY(INT,TOT)
RTOD(1500,1520)
DINTV(0020)
REPORTS(CPU)
SYSRPTS(WLMGL(POLICY,WGROUP,SCPER,RCLASS,SYSNAM))
------------------------------------------------------------------------------ DB2 PE Accounting long ------------------------------------------------GLOBAL
TIMEZONE(+4)
INCLUDE(SUBSYSTEMID(DB8E)
CONNECT(SERVER)
)
FROM(,15:00) TO(,15:20)
ACCOUNTING
REPORT
LAYOUT(LONG)
EXEC
------------------------------------------------------------------------------ DB2 PE Statistics long ------------------------------------------------GLOBAL
TIMEZONE(+4)
INCLUDE(SUBSYSTEMID(DB8E)
CONNECT(SERVER)
)
FROM(,15:00) TO(,15:20)
STATISTICS
REPORT
LAYOUT(LONG)
EXEC
We have already seen the overall processor utilization percentage correlates as shown in
Figure 3-14 on page 50 and Figure 3-15 on page 50. We look now at processor utilization
data and transaction count and response time for the DDF workload.
3.4.1 EWLM Control Center reports
The Trade3 workload uses three EWLM service classes: the processor utilization and
transaction data, transaction response, and queue time can be found in the tableview either
for Application or Server topology views.
򐂰 Service Class SC_Trade3_default Application topology tableview (Figure 3-24 on page 59)
58
Enterprise Workload Manager z/OS Support
Figure 3-24 Application topology for SC_Trade3_default service class - right
Figure 3-25 Application topology for SC_Trade3_default service class - left
򐂰 Service Class SC_Trade3_general Application topology tableview
Data is shown in Figure 3-21 on page 55 and in Figure 3-23 on page 57.
򐂰 Service Class SC_Trade3_shopping Application topology tableview (Figure 3-26 on
page 60)
Chapter 3. Monitoring and reporting
59
Figure 3-26 Application topology for SC_Trade3_shopping service class - right
Figure 3-27 Application topology for SC_Trade3_shopping service class - left
The Control Center aggregation interval for the tableviews is one hour starting at 2:45 pm
April 19th. We normalize for DDF application environment (hop 2) the processor time seconds
and the successful transactions count to a second to be able to relate to RMF monitors data.
We did not experience stopped or failed transactions during our test run.
򐂰 Processor time seconds:
– SC_Trade3_default 5.32 (5.7% of total)
– SC_Trade3_general 80.77 (87% of total)
– SC_Trade3_shopping 6.74 (7.3% of total)
– Total 92.83 seconds that divided by 3600 seconds equals 2.58% utilization of one CP.
򐂰 Successful transactions:
– SC_Trade3_default 8735 (6% of total)
– SC_Trade3_general 130984 (86.7% of total)
– SC_Trade3_shopping 11167 (7.3% of total)
– Total 150886 transactions that divided by 3600 seconds equals 41.91 transactions per
second.
60
Enterprise Workload Manager z/OS Support
򐂰 Transaction response time and queue time (the queue time is currently reported
incorrectly and will be addressed in the next release. The value should be read as queue
time / transaction count; in our case we obtain a negligible value):
– SC_Trade3_default r/t = 1 millisecond, queue time = 1 millisecond
– SC_Trade3_general r/t = 1 millisecond, queue time = 13 millisecond
– SC_Trade3_shopping r/t = 1 millisecond, queue time = 0
Note: Those are hop 2 transactions delimited by issuing an arm_start_transaction,
arm_stop_transaction at the middleware level (DDF).
3.4.2 RMF postprocessor workload activity reports
From the RMF postprocessor, we extrapolate reports for zWLM workload DB2RES and for
service class SCDB2STP that have been set up for DDF workload. In Figure 3-7 on page 43
you can see that the report duration interval is 20 minutes, which matches the EWLM Control
Center interval.
Figure 3-28 depicts the CPU utilization behavior for DDF workload during our run. You can
see that the utilization ranges between 2.5 and 3% of one CP (APPL %).
Figure 3-28 DDF workload CPU utilization
Chapter 3. Monitoring and reporting
61
Example 3-4, Example 3-5, and Example 3-6 on page 63 show excerpts from the RMF
reports.
Example 3-4 RMF workload report
z/OS V1R6
SYSPLEX WTSCPLX1
START 04/19/2005-15.00.00 INTERVAL 000.19.59
RPT VERSION V1R5 RMF
END
04/19/2005-15.20.00
MODE = GOAL
============================================================================================================ WORKLOAD
REPORT BY: POLICY=SPSTPC
TRANSACTIONS
AVG
0.26
MPL
0.26
ENDED
17170
END/S
14.31
£SWAPS
0
EXCTD
0
AVG ENC 0.26
REM ENC 0.00
MS ENC
0.00
WORKLOAD=DB2RES
DB2 stored procedures
TRANS.-TIME HHH.MM.SS.TTT
ACTUAL
17
EXECUTION
17
QUEUED
0
R/S AFFINITY
0
INELIGIBLE
0
CONVERSION
0
STD DEV
28
--DASD I/O-SSCHRT
0.0
RESP
0.5
CONN
0.2
DISC
0.2
Q+PEND
0.1
IOSQ
0.0
---SERVICE---IOC
0
CPU
668803
MSO
0
SRB
0
TOT
668803
/SEC
557
ABSRPTN 2183
TRX SERV 2183
--SERVICE TIMES-TCB
32.2
SRB
0.0
RCT
0.0
IIT
0.0
HST
0.0
IFA
N/A
APPL% CP
2.7
APPL% IFACP
0.0
APPL% IFA
N/A
PAGE-IN RATES
SINGLE
0.0
BLOCK
0.0
SHARED
0.0
HSP
0.0
HSP MISS
0.0
EXP SNGL
0.0
EXP BLK
0.0
EXP SHR
0.0
----STORAGE---AVG
0.00
TOTAL
0.00
CENTRAL
0.00
EXPAND
0.00
SHARED
0.00
You can see that the workload and service class reports are for enclaves because the IOC
and MSO service values are zero: DDF exploits enclaves.
The APPL% reported is 2.7% of one CP that becomes 2.81% after normalizing with the
capture ratio of 96% that we measured during our run. The RMF value is close to the
aggregated processor utilization of the analyzed EWLM service classes (2.58%). See
Figure 3-27 on page 60.
The number of SRM (enclave) transactions executed per second is 17170/1200 = 14.3, with
an average execution time of 17 milliseconds, no queue time, and a standard deviation of
28 milliseconds. On average, within one enclave transaction, we have 41.9/14.3 = 2.93 hop 2
(arm_start / arm_stop) transactions.
For comparison we use the data for SC_Trade3_general service class because it accounts for
87% of total workload. The transaction queue time—that is, the time spent in the middleware
(hop 1) preceding the first arm_start_transaction in hop 2—is probably a negligible value.
(From the Application topology tableview, the value of 13 milliseconds average per transaction
is incorrect.) Furthermore we have on average in hop 2 three ARM transactions per enclave
that last 1 millisecond each.
Using these numbers, the enclave response time using EWLM Control Center number is
(0 + 1) * 3 = 3 milliseconds; RMF reports 17 milliseconds.
Example 3-5 RMF DDF transaction service class workload report - period 1
z/OS V1R6
SYSPLEX WTSCPLX1
START 04/19/2005-15.00.00 INTERVAL 000.19.59
RPT VERSION V1R5 RMF
END
04/19/2005-15.20.00
REPORT BY: POLICY=SPSTPC
TRANSACTIONS
AVG
0.25
MPL
0.25
ENDED
17103
END/S
14.25
£SWAPS
0
EXCTD
0
AVG ENC 0.25
REM ENC 0.00
MS ENC
0.00
WORKLOAD=DB2RES
TRANS.-TIME HHH.MM.SS.TTT
ACTUAL
17
EXECUTION
17
QUEUED
0
R/S AFFINITY
0
INELIGIBLE
0
CONVERSION
0
STD DEV
28
SERVICE CLASS=SCDB2STP
CRITICAL
=NONE
--DASD I/O-SSCHRT
0.0
RESP
0.5
CONN
0.2
DISC
0.2
Q+PEND
0.1
IOSQ
0.0
GOAL: RESPONSE TIME 000.00.00.020 AVG
62
Enterprise Workload Manager z/OS Support
---SERVICE---IOC
0
CPU
667285
MSO
0
SRB
0
TOT
667285
/SEC
556
ABSRPTN 2183
TRX SERV 2183
RESOURCE GROUP=*NONE
--SERVICE TIMES-TCB
32.2
SRB
0.0
RCT
0.0
IIT
0.0
HST
0.0
IFA
N/A
APPL% CP
2.7
APPL% IFACP
0.0
APPL% IFA
N/A
MODE = GOAL
PERIOD=1 IMPORTANCE=2
PAGE-IN RATES
SINGLE
0.0
BLOCK
0.0
SHARED
0.0
HSP
0.0
HSP MISS
0.0
EXP SNGL
0.0
EXP BLK
0.0
EXP SHR
0.0
----STORAGE---AVG
0.00
TOTAL
0.00
CENTRAL
0.00
EXPAND
0.00
SHARED
0.00
SYSTEM
RESPONSE TIME EX
PERF AVG
HHH.MM.SS.TTT VEL% INDX ADRSP
SC69
000.00.00.017 87.2 0.9
<
<=
<=
<=
<=
<=
<=
<=
<=
<=
<=
<=
<=
>
--- USING% --- ---------- EXECUTION DELAYS % --------- ---DLY%-- -CRYPTO%- ---CNT%-%
CPU IFA I/O TOT CPU
UNKN IDLE USG DLY USG DLY QUIE
0.2
7.4
N/A
0.0
1.1
1.1
91.1
0.0
0.0
0.0
0.0
0.0
0.0
----------RESPONSE TIME DISTRIBUTION-----------NUMBER OF TRANSACTIONS--------PERCENT------- 0
10
20
30
40
50
60
70
80
90
100
CUM TOTAL
IN BUCKET
CUM TOTAL
IN BUCKET !....!....!....!....!....!....!....!....!....!....!
5285
5285
30.9
30.9 >>>>>>>>>>>>>>>>
6954
1669
40.7
9.8 >>>>>>
8770
1816
51.3
10.6 >>>>>>
10441
1671
61.0
9.8 >>>>>>
11951
1510
69.9
8.8 >>>>>
13198
1247
77.2
7.3 >>>>
13681
483
80.0
2.8 >>
14446
765
84.5
4.5 >>>
14992
546
87.7
3.2 >>
15329
337
89.6
2.0 >>
15609
280
91.3
1.6 >>
16317
708
95.4
4.1 >>>
16878
561
98.7
3.3 >>
17103
225
100
1.3 >
----TIME---HH.MM.SS.TTT
00.00.00.010
00.00.00.012
00.00.00.014
00.00.00.016
00.00.00.018
00.00.00.020
00.00.00.022
00.00.00.024
00.00.00.026
00.00.00.028
00.00.00.030
00.00.00.040
00.00.00.080
00.00.00.080
Example 3-6 RMF DDF workload report - period 2
REPORT BY: POLICY=SPSTPC
TRANSACTIONS
AVG
0.00
MPL
0.00
ENDED
67
END/S
0.06
£SWAPS
0
EXCTD
0
AVG ENC 0.00
REM ENC 0.00
MS ENC
0.00
WORKLOAD=DB2RES
TRANS.-TIME HHH.MM.SS.TTT
ACTUAL
65
EXECUTION
65
QUEUED
0
R/S AFFINITY
0
INELIGIBLE
0
CONVERSION
0
STD DEV
60
SC69
--DASD I/O-SSCHRT
0.0
RESP
0.3
CONN
0.3
DISC
0.0
Q+PEND
0.0
IOSQ
0.0
RESOURCE GROUP=*NONE
---SERVICE---IOC
0
CPU
1518
MSO
0
SRB
0
TOT
1518
/SEC
1
ABSRPTN 2150
TRX SERV 2150
GOAL: EXECUTION VELOCITY 50.0%
SYSTEM
SERVICE CLASS=SCDB2STP
CRITICAL
=NONE
VELOCITY MIGRATION:
RESPONSE TIME EX
PERF AVG
VEL% INDX ADRSP
--N/A--
0.0 0.0
0.0
I/O MGMT
0.0%
--SERVICE TIMES-TCB
0.1
SRB
0.0
RCT
0.0
IIT
0.0
HST
0.0
IFA
N/A
APPL% CP
0.0
APPL% IFACP
0.0
APPL% IFA
N/A
INIT MGMT
PERIOD=2 IMPORTANCE=3
PAGE-IN RATES
SINGLE
0.0
BLOCK
0.0
SHARED
0.0
HSP
0.0
HSP MISS
0.0
EXP SNGL
0.0
EXP BLK
0.0
EXP SHR
0.0
----STORAGE---AVG
0.00
TOTAL
0.00
CENTRAL
0.00
EXPAND
0.00
SHARED
0.00
0.0%
--- USING% --- ---------- EXECUTION DELAYS % --------- ---DLY%-- -CRYPTO%- ---CNT%-%
CPU IFA I/O TOT
UNKN IDLE USG DLY USG DLY QUIE
0.0
N/A
0.0
0.0
100
0.0
0.0
0.0
0.0
0.0
0.0
The reports for the two periods of zWLM service class SCDB2STP confirm the CPU
utilization and the number of enclaves. In addition they show the response time distribution
and the low number of transactions (0.06 per second) completed in period 2. Period 1
duration is 100 SU, roughly equivalent to 2 MIPS.
zWLM sample state percentages for CPU (there are no storage or I/O delays) are:
򐂰 CPU using = 7.4 %
򐂰 CPU delay = 1.1 %
If we relate those two values, it turns out that CPU using samples are 87% and CPU delay
states are 13%. Those percentage values correlate with what you can see in the Managed
server details view for the z/OS platform in Figure 3-13 on page 48.
This information can be used to adjust the zWLM service class goals if necessary.
3.4.3 DB2 PE accounting and statistics reports
Now we look at the DB2 PE accounting and statistics reports and cross-check with the EWLM
Control Center and RMF reports. The interval duration is 15 minutes.
We refer to Example 3-7, which shows a DB2 PE accounting report excerpt. The interval and
the duration correlates with EWLM and RMF data.
Chapter 3. Monitoring and reporting
63
Example 3-7 DB2 PE accounting report extract
1
LOCATION: DB8E
GROUP: N/P
MEMBER: N/P
SUBSYSTEM: DB8E
DB2 VERSION: V8
PRIMAUTH: MCONNOL PLANNAME: DISTSERV
DB2 PERFORMANCE EXPERT (V2)
ACCOUNTING REPORT - LONG
ORDER: PRIMAUTH-PLANNAME
SCOPE: MEMBER
ELAPSED TIME DISTRIBUTION
---------------------------------------------------------------APPL
|==========================================> 84%
DB2
|====> 8%
SUSP
|====> 9%
AVERAGE
-----------ELAPSED TIME
NONNESTED
STORED PROC
UDF
TRIGGER
APPL(CL.1) DB2 (CL.2)
---------- ---------0.023883
0.003889
0.023883
0.003889
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
PAGE:
REQUESTED FROM:
TO:
INTERVAL FROM:
TO:
IFI (CL.5)
---------N/P
N/A
N/A
N/A
N/A
CPU TIME
AGENT
NONNESTED
STORED PRC
UDF
TRIGGER
PAR.TASKS
0.002302
0.002302
0.002302
0.000000
0.000000
0.000000
0.000000
0.001720
0.001720
0.001720
0.000000
0.000000
0.000000
0.000000
N/P
N/A
N/P
N/A
N/A
N/A
N/A
SUSPEND TIME
AGENT
PAR.TASKS
STORED PROC
UDF
0.000000
N/A
N/A
0.000000
0.000000
0.002033
0.002033
0.000000
N/A
N/A
N/A
N/A
N/A
N/A
N/A
NOT ACCOUNT.
DB2 ENT/EXIT
EN/EX-STPROC
EN/EX-UDF
DCAPT.DESCR.
LOG EXTRACT.
N/A
N/A
N/A
N/A
N/A
N/A
0.000135
27.15
0.00
0.00
N/A
N/A
N/A
N/A
N/A
N/A
N/P
N/P
1-1
ALL
DATES
06/23/05
06/23/05
10:24:00.00
10:40:00.00
10:24:02.99
10:39:58.32
CLASS 2 TIME DISTRIBUTION
---------------------------------------------------------------CPU
|======================> 44%
NOTACC |=> 3%
SUSP
|==========================> 52%
CLASS 3 SUSPENSIONS
-------------------LOCK/LATCH(DB2+IRLM)
SYNCHRON. I/O
DATABASE I/O
LOG WRITE I/O
OTHER READ I/O
OTHER WRTE I/O
SER.TASK SWTCH
UPDATE COMMIT
OPEN/CLOSE
SYSLGRNG REC
EXT/DEL/DEF
OTHER SERVICE
ARC.LOG(QUIES)
ARC.LOG READ
DRAIN LOCK
CLAIM RELEASE
PAGE LATCH
NOTIFY MSGS
GLOBAL CONTENTION
COMMIT PH1 WRITE I/O
ASYNCH CF REQUESTS
TOTAL CLASS 3
AVERAGE TIME
-----------0.000001
0.000455
0.000000
0.000455
0.000000
0.000000
0.001578
0.000000
0.000000
0.000000
0.000000
0.001578
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.002033
AV.EVENT
-------0.00
0.22
0.00
0.22
0.00
0.00
1.00
0.00
0.00
0.00
0.00
1.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
1.23
HIGHLIGHTS
-------------------------#OCCURRENCES
:
1964
#ALLIEDS
:
0
#ALLIEDS DISTRIB:
0
#DBATS
:
1964
#DBATS DISTRIB. :
0
#NO PROGRAM DATA:
0
#NORMAL TERMINAT:
1964
#ABNORMAL TERMIN:
0
#CP/X PARALLEL. :
0
#IO PARALLELISM :
0
#INCREMENT. BIND:
0
#COMMITS
:
1964
#ROLLBACKS
:
0
#SVPT REQUESTS :
0
#SVPT RELEASE
:
0
#SVPT ROLLBACK :
0
MAX SQL CASC LVL:
0
UPDATE/COMMIT
:
0.30
SYNCH I/O AVG. : 0.002044
The number of occurrences and commits per second are 1964/900 = 2.18 and it should
match the RMF number of enclaves per second (report not shown).
򐂰 Class 2 CPU utilization is 2.18 * 0.002302 = 0.0050, or 0.05% of one CP.
򐂰 Class 1 average elapsed time per commit is 23.8 milliseconds and it should correspond
with RMF average transaction (enclave) response time.
Example 3-8 shows the distributed activity from the DB2 PE accounting report.
Example 3-8 DB1 PE Distributed Activity report
1
LOCATION:
GROUP:
MEMBER:
SUBSYSTEM:
DB2 VERSION:
DB8E
N/P
N/P
DB8E
V8
DB2 PERFORMANCE EXPERT (V2)
ACCOUNTING REPORT - LONG
ORDER: PRIMAUTH-PLANNAME
SCOPE: MEMBER
PAGE:
REQUESTED FROM:
TO:
INTERVAL FROM:
TO:
1-4
ALL
DATES
06/23/05
06/23/05
10:24:00.00
10:40:00.00
10:24:02.99
10:39:58.32
---- DISTRIBUTED ACTIVITY ----------------------------------------------------------------------------------------------------REQUESTER
: 9.12.4.138
TRANSACTIONS RECV. :
0.00
MESSAGES SENT
:
5.89
MSG.IN BUFFER:
7.88
PRODUCT ID
: JCC
#COMMIT(1) RECEIVED:
0
MESSAGES RECEIVED:
5.89
ROWS SENT
:
1.07
METHOD
: DRDA PROTOCOL
#ROLLBK(1) RECEIVED:
0
BYTES SENT
:
2147.51
BLOCKS SENT :
5.89
CONV.INITIATED
:
0.00
SQL RECEIVED
:
7.37
BYTES RECEIVED
:
2086.46
#DDF ACCESSES:
966
#COMMIT(2) RECEIVED:
0
#COMMIT(2) RES.SENT:
0
#PREPARE RECEIVED:
0
#FORGET SENT :
0
#BCKOUT(2) RECEIVED:
0
#BACKOUT(2)RES.SENT:
0
#LAST AGENT RECV.:
966
#COMMIT(2) PERFORM.:
966
#BACKOUT(2)PERFORM.:
0
#THREADS INDOUBT :
0
REQUESTER
: 9.12.4.140
PRODUCT ID
: JCC
METHOD
: DRDA PROTOCOL
CONV.INITIATED
:
0.00
#COMMIT(2) RECEIVED:
0
#BCKOUT(2) RECEIVED:
0
#COMMIT(2) PERFORM.:
998
64
TRANSACTIONS RECV. :
#COMMIT(1) RECEIVED:
#ROLLBK(1) RECEIVED:
SQL RECEIVED
:
#COMMIT(2) RES.SENT:
#BACKOUT(2)RES.SENT:
#BACKOUT(2)PERFORM.:
Enterprise Workload Manager z/OS Support
0.00
0
0
7.77
0
0
0
MESSAGES SENT
:
MESSAGES RECEIVED:
BYTES SENT
:
BYTES RECEIVED
:
#PREPARE RECEIVED:
#LAST AGENT RECV.:
#THREADS INDOUBT :
6.36
6.36
2132.75
2151.28
0
998
0
MSG.IN BUFFER:
ROWS SENT
:
BLOCKS SENT :
#DDF ACCESSES:
#FORGET SENT :
7.76
1.22
6.54
998
0
The number of commits are split between the two application servers and they match the
number of DDF accesses.
DDF middleware is enabled for ARM instrumentation, and a pair of arm_start_transaction,
arm_stop_transaction is associated with each database request message from a distributed
application—in our environment the WebSphere Application Servers (hop1). You can see that
the number of Messages Received per commit is 5.89 from one server and 6.36 from the
other.
Total number of messages received per second is ((966 * 5.89)+(998 * 6.36)) / 900 = 13.37,
which is very close to the 12.66 successful transactions per second for DDF middleware
(hop 2) given by EWLM Control Center as shown in Figure 3-29 on page 66, Figure 3-30 on
page 66 and Figure 3-31 on page 66.
DB2 PE statics report also has a section related to DRDA. Example 3-9 shows the report
excerpt.
Example 3-9 DB2 PE statistics report
1
LOCATION:
GROUP:
MEMBER:
SUBSYSTEM:
DB2 VERSION:
DB8E
N/P
N/P
DB8E
V8
DB2 PERFORMANCE EXPERT (V2)
STATISTICS REPORT - LONG
SCOPE: MEMBER
PAGE:
REQUESTED FROM:
TO:
INTERVAL FROM:
TO:
1-15
ALL
DATES
06/23/05
06/23/05
10:24:00.00
10:40:00.00
10:24:31.33
10:39:43.61
---- HIGHLIGHTS ---------------------------------------------------------------------------------------------------INTERVAL START : 06/23/05 10:24:31.33
SAMPLING START: 06/23/05 10:24:31.33
TOTAL THREADS
:
0.00
INTERVAL END
: 06/23/05 10:39:43.61
SAMPLING END : 06/23/05 10:39:43.61
TOTAL COMMITS
: 1890.00
INTERVAL ELAPSED:
15:12.283772
OUTAGE ELAPSED:
0.000000
DATA SHARING MEMBER:
N/A
DRDA REMOTE LOCS
--------------------------TRANSACTIONS
CONVERSATIONS
CONVERSATIONS QUEUED
SQL STATEMENTS
SINGLE PHASE COMMITS
SINGLE PHASE ROLLBACKS
ROWS
MESSAGES
BYTES
BLOCKS
MESSAGES IN BUFFER
CONT->LIM.BLOCK FETCH SWTCH
STATEMENTS BOUND AT SERVER
SENT
-------0.00
0.00
0.00
0.00
0.00
0.00
2160.00
11544.00
4020.8K
11682.00
14705.00
0.00
0.00
RECEIVED
-------0.00
0.00
PREPARE REQUEST
LAST AGENT REQUEST
TWO PHASE COMMIT REQUEST
TWO PHASE BACKOUT REQUEST
FORGET RESPONSES
COMMIT RESPONSES
BACKOUT RESPONSES
THREAD INDOUBT-REM.L.COORD.
COMMITS DONE-REM.LOC.COORD.
BACKOUTS DONE-REM.L.COORD.
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
1890.00
0.00
0.00
1890.00
0.00
0.00
0.00
0.00
0.00
14249.00
0.00
0.00
0.00
11544.00
3995.6K
0.00
The number of commits and messages received per second match the accounting report:
򐂰 Commits: 1890 / 900 = 2.1
򐂰 Messages received = 12.82
Figure 3-29 on page 66, Figure 3-30 on page 66, and Figure 3-31 on page 66 show the
EWLM Application topology tableview for the measured interval. The transaction count field
represents the number of ARM transactions executed in the DB2 middleware and it
corresponds to the distributed messages reported in the DB2 PE reports.
If you sum the transactions spread across the three service classes serving the trade
application, you get 11397 (12.66 transaction/second), which is very close to the DB2 report.
Chapter 3. Monitoring and reporting
65
Figure 3-29 DB2 transaction count for SC SC_Trade3_default
Figure 3-30 DB2 transaction count for SC SC_Trade3_general
Figure 3-31 DB2 transaction count for SC SC_Trade3_shopping
66
Enterprise Workload Manager z/OS Support
3.4.4 Summary
From our studies on our EWLM management domain, we offer some fundamental tips for
implementing EWLM in your installation:
򐂰 Carefully plan your EWLM policy versus the zWLM if you want to relate performance data
between the z/OS and the distributed environment.
򐂰 When you evaluate data either from EWLM or from the z/OS monitors, keep in mind the
different concept of “transaction” as illustrated in Figure 3-32 on page 67.
EWLM
messages
DDF
commit/enclave
z/OS
Figure 3-32 Transaction concept
Chapter 3. Monitoring and reporting
67
3.5 Performance considerations
Figure 3-33 depicts the key new required functional components in an example of a simple
two-system EWLM management domain. One OS image houses the EWLM domain
manager, and two other OS images each house an EWLM managed server. This Redpaper
focuses on the z/OS image on the right side of the diagram. Within an EWLM managed OS
image, there are essentially three functional areas that consume system resources (CPU,
Memory, I/O) to accommodate EWLM:
򐂰 The EWLM managed server process (started via S EWLMMS command). This is a Java
application that is common across all platforms. Its primary responsibility is to collect and
aggregate transaction (ARM instrumented), process, and system resource data.
Additionally, it is responsible for communicating this aggregated data to the EWLM domain
manager on an interval basis, asynchronous to transactions themselves.
򐂰 The EWLM platform and ARM services. This is the operating system extension support
that provides the ARM implementation interface for ARM instrumented middleware and a
platform interface for process and system resource statistics. Data is passed to the EWLM
managed server process asynchronous to the transactions themselves.
򐂰 The DB2 DDF ARM calls and associated processing. This is essentially the
instrumentation hooks placed into DB2 DDF to provide transaction statistics (for example
Response Time, Queue time, an so forth) on a DRDA TCP/IP message-level basis.
z/OS
Management Server Host
EWLM managed server for
z/OS
FMID HVE1110
EWLM domain manager
Domain Policy
and Topology
Asynchronous to
Transaction
JNI Layer
EWLM Platform & ARM services
EWLM Control Center
Other platform
Control
Server Operating
System
style sheets
Websphere Express
as servlet engine
EWLM managed
server
EWLM Plat/ARM services
Server Operating
System
Application
Instrumentation
Interfaces
GUI
Application
Interfaces
ARM
(Enclaves)
Instrumentation
ARM (C, Java)
Call ARM…..
DB2
User log on via
WEB Browser
Client
Transaction
Flow
WebSphere
Application
Server
Synchronous to
Transaction
JCC Driver
Figure 3-33 EWLM components flow
Instrumenting transactions in a distributed environment typically requires capturing statistics
on a greater number of the smaller subtransactions that make up the total end-user
transaction. For example, as mentioned earlier, to accurately account for time spent in DB2
DDF versus time in the calling application, the DB2 DDF instrumentation is implemented on a
DRDA TCP/IP message-level boundary, as opposed to a DB2 Commit boundary, the current
instrumentation scope for z/OS zWLM.
68
Enterprise Workload Manager z/OS Support
While setting up and running the Trade3 workload, we made the following general resource
observations:
Monitoring transaction response time from the WebSphere Studio Workload Simulator, we
noticed a negligible increase when running with EWLM. The Average Transaction response
time went from 12 milliseconds to 13 milliseconds. This data is from a simpler 2-hop
configuration than the 3-hop ITSO scenarios shown earlier.
We noticed an increase in the average system CPU utilization when running TRADE3 with
EWLM, versus without EWLM (EWLMMS not started). Based on a discussion with the EWLM
development team, here are some thoughts to consider with regard to processor costs.
The relative processor performance cost of a z/OS DB2 DDF workload exploiting EWLM is
primarily driven by the following factors:
򐂰 The number of DRDA TCP/IP messages per DB2 Commit.
DDF instrumentation for EWLM is provided at a TCP/IP message level, hence
instrumentation overhead for a Commit is driven by the number of messages.
򐂰 The base processing cost (size) of a DRDA TCP/IP message in the Commit scope.
The per-message processor consumption overhead of the DDF instrumentation for EWLM
is essentially the same for all messages, hence a message with a greater DB2 cost (for
example, path length) will, proportionally, experience a lower processor overhead than a
message with lesser DB2 cost.
Therefore, processor consumption overhead due to DDF instrumentation for EWLM is
minimized, perhaps negligible, for workloads that have small numbers of DRDA messages
with a greater base DB2 processing. Conversely, and as expected, DDF workloads with
comparatively smaller base DB2 processing per message and with a larger number of
messages can potentially result in some notice of additional processor cost.
Chapter 3. Monitoring and reporting
69
70
Enterprise Workload Manager z/OS Support
Related publications
The publications listed in this section are considered particularly suitable for a more detailed
discussion of the topics covered in this Redpaper.
IBM Redbooks
For information on ordering these publications, see “How to get IBM Redbooks” on page 71.
Note that some of the documents referenced here may be available in softcopy only.
򐂰 IBM Enterprise Workload Manager, SG24-6350
򐂰 Enterprise Workload Manager - Interpreting Control Center Performance Reports,
REDP-3963
Other publications
These publications are also relevant as further information sources:
򐂰 IBM Virtualization Engine Enterprise Workload Manager for z/OS V1.1 License
Information, GC53-1120-00
򐂰 IBM SMP/E for z/OS and OS/390 User's Guide, SA22-7773
򐂰 IBM SMP/E for z/OS and OS/390 Commands, SA22-7771
򐂰 IBM SMP/E for z/OS and OS/390 Reference, SA22-7772
򐂰 IBM SMP/E for z/OS and OS/390 Messages, Codes, and Diagnosis, GA22-7770
򐂰 Managing Enterprise Java Applications for DB2, G507-1457-00
Online resources
These Web sites and URLs are also relevant as further information sources:
򐂰 IBM Eserver Software Information Center
http://publib.boulder.ibm.com/infocenter/eserver/v1r1/en_US/index.htm?info/icmain.htm
򐂰 Washington System Center Technical note: "Implementing an EWLM managed node on
z/OS"
http://www.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/TD102355
How to get IBM Redbooks
You can search for, view, or download Redbooks, Redpapers, Hints and Tips, draft
publications and Additional materials, as well as order hardcopy Redbooks or CD-ROMs, at
this Web site:
ibm.com/redbooks
© Copyright IBM Corp. 2005. All rights reserved.
71
Help from IBM
IBM Support and downloads
ibm.com/support
IBM Global Services
ibm.com/services
72
Enterprise Workload Manager z/OS Support
Back cover
®
Enterprise Workload
Manager z/OS Support
Redpaper
Installing the EWLM
managed server on
z/OS
Customizing the
EWLM management
domain
Evaluating
performance data
This IBM Redpaper will help you install, tailor, and configure the
EWLM managed server on the z/OS image. It also provides an
understanding of how the transaction concept differs between
the distributed and z/OS worlds and how you can interpret the
EWLM performance data compared with traditional z/OS
monitors such as RMF and DB2 Performance Expert.
INTERNATIONAL
TECHNICAL
SUPPORT
ORGANIZATION
BUILDING TECHNICAL
INFORMATION BASED ON
PRACTICAL EXPERIENCE
IBM Redbooks are developed
by the IBM International
Technical Support
Organization. Experts from
IBM, Customers and Partners
from around the world create
timely technical information
based on realistic scenarios.
Specific recommendations
are provided to help you
implement IT solutions more
effectively in your
environment.
For more information:
ibm.com/redbooks
Download