Addressing OS/390 Web server performance. - IBM
Addressing OS/390 Web server performance. - IBM
Addressing OS/390 Web server performance. - IBM
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>IBM</strong> Global Services<br />
<strong>Addressing</strong> <strong>OS</strong>/<strong>390</strong><br />
<strong>Web</strong> <strong>server</strong> <strong>performance</strong>.<br />
Key Topics<br />
Explains the importance of defining<br />
meaningful <strong>performance</strong> reports<br />
Helps you define your <strong>performance</strong><br />
objectives<br />
Provides a standard approach to<br />
<strong>performance</strong> management<br />
Addresses changes to <strong>OS</strong>/<strong>390</strong><br />
in a <strong>Web</strong> environment<br />
Uses a successful methodology<br />
to analyze <strong>Web</strong> <strong>server</strong> <strong>performance</strong><br />
problems<br />
Discusses the benefits of <strong>performance</strong><br />
analysis<br />
Introduction<br />
The benefits of high-availability and proven disaster-recovery capabilities make<br />
<strong>OS</strong>/<strong>390</strong> ® an attractive <strong>Web</strong> <strong>server</strong> choice. However, there are challenges in using an<br />
<strong>OS</strong>/<strong>390</strong> system as a <strong>Web</strong> <strong>server</strong>. There are additional complexities associated with providing<br />
and maintaining acceptable <strong>performance</strong> levels for new functions, existing legacy<br />
applications and batch processes. The Internet introduces exposure to unpredictable<br />
workloads that may interfere with the <strong>performance</strong> of current production applications.<br />
This paper describes a <strong>performance</strong> analysis process developed by <strong>IBM</strong> Performance<br />
Management and Capacity Planning Services to analyze an <strong>OS</strong>/<strong>390</strong> <strong>Web</strong><br />
<strong>server</strong> environment. Many analysts are overwhelmed by <strong>performance</strong> analysis due<br />
to the complexity of, and difficulty in, using the available tools. However, without these<br />
tools, there is no successful way to measure <strong>performance</strong> levels. Using a proven process<br />
helps solve multiple information systems issues and can serve as input to the<br />
information systems decision-making process. The process can provide valuable<br />
information for capacity planning, systems planning and workload balancing, as well as<br />
system tuning efforts. An evaluation of the impact of new hardware or software applications<br />
provides more accurate cost projections, improving project feasibility assessments.<br />
While the objectives of <strong>performance</strong> management may vary, most final reports<br />
include the analysis of one or more of the following:<br />
• Processor utilization by workload type<br />
• Processor storage allocation by workload type<br />
• I/O activity by workload type<br />
• I/O subsystem response time analysis<br />
• Information reflecting levels of resource contention.<br />
The primary goal of a systems analysis is to identify latent demand, bottlenecks and<br />
levels of resource contention.
2<br />
Delivering meaningful <strong>performance</strong> reports<br />
The first step in designing a <strong>performance</strong> management report is to understand the audience.<br />
The <strong>performance</strong> report should contain only information required to answer the<br />
business, capacity or <strong>performance</strong> questions. Often, excellent reports are never read<br />
because the audience does not understand the content. To ensure that the audience<br />
understands the issues, use appropriate terminology when describing the meaning of<br />
charts and graphs. For example, capacity planners may view information from a more<br />
technical perspective, whereas business planners might focus more on return on investment.<br />
Multiple report types can be created from the same data to match the<br />
understanding and focus of the audience members.<br />
Often, <strong>performance</strong> management is initiated when problems are reported. We take a different<br />
approach to <strong>performance</strong> management. Our methodology produces a report based<br />
on system contention indicators that affect throughput and response times. Each resource<br />
component of the system is displayed, showing the levels of capacity attained and contention<br />
activity. There are no defined good or bad levels. Whether the capacity or contention is<br />
excessive can only be determined by the impact on meeting business objectives.<br />
The purpose of a <strong>performance</strong> management report should be to provide information<br />
that will help analysts manage the information systems resources. An objective of this<br />
methodology is to identify indicators that provide insight into how well a system is<br />
running. An analysis of these indicators provides information on changes and available<br />
options to improve <strong>performance</strong> or service.<br />
Determining your objectives for <strong>OS</strong>/<strong>390</strong> <strong>Web</strong> <strong>server</strong> <strong>performance</strong><br />
Experienced system managers recognize the following areas as essential for success:<br />
• Resource monitoring—Resource utilization must be monitored so <strong>performance</strong> problems<br />
can be easily detected either before they occur or immediately thereafter.<br />
• Analysis and control—Once a <strong>performance</strong> problem is detected, the system manager<br />
must select and use the appropriate tools to understand the nature of the problem and<br />
take action.<br />
• Capacity planning—Long-term capacity requirements must be analyzed so that sufficient<br />
resources can be acquired on a just-in-time (JIT) basis for maximum cost and<br />
utilization efficiencies.
As you begin to form your <strong>performance</strong> management strategy, determine your major<br />
objective. Below are some common goals:<br />
• Instantaneous response time for users<br />
• Optimized <strong>performance</strong> without the purchase of additional hardware<br />
• Batch jobs completed by specific times or within a specific time window.<br />
Since <strong>performance</strong> management is an ongoing process, the initial goal should be as<br />
simple, singular and measurable as possible. For example, making the system run<br />
faster is too undefined. Making a batch job run in five minutes, or decreasing response<br />
time from two seconds to less than one second are more appropriate goals. Performance<br />
goals, especially if they are formulated by a group, may be in conflict or be<br />
unreasonable. Following a tuning methodology helps to determine whether your goals<br />
are attainable with available resources. In fact, the <strong>performance</strong> tuning process may<br />
uncover a need for additional resources, or may point to something not immediately<br />
tunable, such as software.<br />
The monitoring method must fit the <strong>server</strong>’s place in your organization’s overall IT strategy.<br />
For example:<br />
• A noncritical <strong>server</strong> may only need occasional monitoring, using those tools that came<br />
with the operating system or those available in the public domain.<br />
• Servers critical to your enterprise that support key business functions may require<br />
constant monitoring with a suite of sophisticated tools that generate realtime<br />
statistical data.<br />
Examples of factors that impact your monitoring method decision are:<br />
• How quickly does <strong>performance</strong> degradation need to be addressed?<br />
• Who on your staff is experienced and available?<br />
• What is your budget?<br />
3
4<br />
Implementing a standard approach to <strong>performance</strong> management<br />
The following flowchart provides a generic approach to <strong>performance</strong> analysis and tuning<br />
for <strong>OS</strong>/<strong>390</strong>, UNIX ® and Windows NT ® systems. The goal is to create a proactive process<br />
where problems are identified before users start complaining.<br />
The first function is to define business objectives and identify a way to measure those<br />
objectives. If the objectives are not being met, actions are initiated to isolate and fix the<br />
problem. Once the cause of the problem has been identified, decide whether it is a<br />
tuning issue or the result of a lack of resources. If it is the result of a lack of resources,<br />
decide whether to buy more or rebalance resources from an existing application.<br />
Rebalancing system resources from one application and giving them to another is not<br />
the same as tuning. After making any changes, always verify that the problem was<br />
corrected. The process begins again with the next scheduled measurement.<br />
Set<br />
Workload<br />
Objectives<br />
Check<br />
Objectives<br />
OK?<br />
NO<br />
Identify<br />
Resource<br />
Causing<br />
Problem<br />
YES<br />
Wait<br />
Buy<br />
Rebalance<br />
Tune<br />
Verify the<br />
Solution
Understanding the changes to the <strong>OS</strong>/<strong>390</strong> system as a <strong>Web</strong> <strong>server</strong><br />
To address the business and <strong>performance</strong> issues of decentralized horizontal growth<br />
of <strong>Web</strong> environments, many businesses are porting their <strong>Web</strong> applications to <strong>OS</strong>/<strong>390</strong><br />
<strong>server</strong> platforms. This migration resulted in numerous <strong>OS</strong>/<strong>390</strong> software and hardware<br />
changes to accommodate the new protocols and <strong>OS</strong>/<strong>390</strong> <strong>Web</strong> transaction application<br />
requirements. When working in this environment, consider that:<br />
• Exploiting the robust characteristics of the <strong>OS</strong>/<strong>390</strong> software and hardware has<br />
changed the complexity of managing system <strong>performance</strong>.<br />
• Adding <strong>Web</strong> applications to the <strong>OS</strong>/<strong>390</strong> legacy environments has increased the<br />
difficulty of managing <strong>performance</strong> objectives.<br />
• New skills are required to understand the relationship of <strong>Web</strong> activity and system resource<br />
use.<br />
• Not managing <strong>Web</strong> activity has a negative <strong>performance</strong> impact on legacy applications.<br />
• Legacy applications must coexist with <strong>Web</strong> <strong>server</strong> applications.<br />
• Managing the <strong>Web</strong> workloads requires changes to the workload manager service<br />
policy or, for compatibility systems, the IEAIPSxx.<br />
• There are new metrics, new bottlenecks and new <strong>performance</strong> requirements.<br />
• The type of <strong>performance</strong> data and the tools used to process this data need to<br />
be enhanced.<br />
• If the <strong>OS</strong>/<strong>390</strong> system is currently experiencing <strong>performance</strong> problems, the <strong>Web</strong> <strong>server</strong><br />
application will not perform well. CPU cycles, processor storage and I/O<br />
capacity must be available before you install any new applications. There must be sufficient<br />
system resources to support UNIX, TCP/IP and <strong>Web</strong> <strong>server</strong> requirements.<br />
• System parameter tables need to be modified to properly reflect the new environment.<br />
• <strong>OS</strong>/<strong>390</strong> Version 2 Release 7 with SMS 1.5 HFS enhancement is the recommended<br />
base level.<br />
5
6<br />
Even experienced <strong>performance</strong> analysts see new challenges for <strong>OS</strong>/<strong>390</strong>. These challenges<br />
require changing existing processes to support a <strong>Web</strong> environment and include:<br />
• The need for reliability, availability and manageability increases as more and more businesses<br />
consolidate their decentralized, hard-to-manage <strong>Web</strong> <strong>server</strong> environments and<br />
as critical applications are converted for <strong>Web</strong> access.<br />
• Current <strong>performance</strong> tools and methodologies must be altered to include new types of<br />
data analysis.<br />
• Unlike legacy applications, new transactions arrive via a <strong>Web</strong> site <strong>server</strong> client, not VTAM<br />
or NCP. TCP/IP is the main vehicle used for moving transactions between the application<br />
and the client and plays an important <strong>performance</strong> role.<br />
• New protocol information is used to identify data set characteristics, and a new HFS file<br />
structure is used to support the data. <strong>OS</strong>/<strong>390</strong> functions have been changed to recognize<br />
this and must be considered when evaluating system <strong>performance</strong>.<br />
• As a transaction passes through the system, multiple levels of interpretation occur.<br />
However, when it reaches the online application, it looks like a standard transaction.<br />
This indicates that <strong>performance</strong> methodologies for online applications will not have to<br />
be changed.<br />
• <strong>OS</strong>/<strong>390</strong> UNIX system services are used to manage the reading and writing of user and<br />
application data. UNIX system services are also used to support <strong>OS</strong>/<strong>390</strong> <strong>Web</strong> <strong>server</strong><br />
functional requirements.
Updating the methodology to identify <strong>Web</strong> <strong>server</strong> resource and <strong>performance</strong><br />
problems<br />
Beginning with <strong>OS</strong>/<strong>390</strong> R2.7 and in conjunction with the <strong>IBM</strong> <strong>Web</strong>Sphere strategy, the<br />
<strong>IBM</strong> <strong>Web</strong>Sphere application <strong>server</strong> pack is now part of <strong>OS</strong>/<strong>390</strong>. This was implemented<br />
to support the innovative growth of <strong>OS</strong>/<strong>390</strong> <strong>Web</strong> <strong>server</strong> applications. Because<br />
legacy applications now coexist with <strong>Web</strong> applications, the type and the amount of <strong>performance</strong><br />
data is increasing. Methodologies for <strong>performance</strong> tuning are changing and<br />
must include new processes.<br />
To determine the new <strong>performance</strong> requirements for an <strong>OS</strong>/<strong>390</strong> <strong>Web</strong> <strong>server</strong> environment,<br />
we have examined the path length of a <strong>Web</strong> transaction through the <strong>OS</strong>/<strong>390</strong> system<br />
before reaching the application. When the transaction reaches the application, this methodology<br />
is concluded. Using existing knowledge, and applying the new requirements for<br />
<strong>Web</strong> <strong>server</strong> <strong>performance</strong>, we have created a successful methodology to analyze the<br />
effectiveness of the installed <strong>Web</strong> <strong>server</strong> and <strong>OS</strong>/<strong>390</strong> system. The objectives of the<br />
methodology are to identify areas where resource contention exists and define what<br />
additional system resources are required to improve <strong>performance</strong> bottlenecks.<br />
The original RMF/SMF data must be analyzed to determine the contention levels of<br />
system resources. Additional data and analysis skills must be included to support the<br />
<strong>performance</strong> of the <strong>OS</strong>/<strong>390</strong> <strong>Web</strong> <strong>server</strong>. The <strong>Web</strong> <strong>server</strong> uses critical underlying components<br />
of <strong>OS</strong>/<strong>390</strong> that must be tuned correctly for optimal throughput. To provide an<br />
end-to-end review of <strong>Web</strong> <strong>server</strong> <strong>performance</strong>, we have included <strong>OS</strong>/<strong>390</strong> UNIX System<br />
services and TCP/IP data in the <strong>performance</strong> analysis process.<br />
To validate the <strong>performance</strong> of online applications such as CICS ® , DB2 ® and IMS/ESA ® ,<br />
capture application <strong>performance</strong> data. The methodology used to analyze this data<br />
does not require any major changes.<br />
7
8<br />
Managing an <strong>OS</strong>/<strong>390</strong> <strong>Web</strong> <strong>server</strong> environment<br />
Understanding what is different in managing an <strong>OS</strong>/<strong>390</strong> <strong>Web</strong> <strong>server</strong> environment is the<br />
first challenge. Examining current reports created for <strong>OS</strong>/<strong>390</strong> systems will not provide<br />
sufficient information to determine whether there are <strong>performance</strong> problems. Instead,<br />
create new <strong>performance</strong> reports that provide information incorporating utilization and<br />
contention for the <strong>Web</strong> <strong>server</strong> environment. Skills need to be updated to understand the<br />
new protocols, UNIX services, TCP/IP and <strong>Web</strong> <strong>server</strong> resource utilization.<br />
The business importance of the <strong>Web</strong> workloads should be balanced with their impact on<br />
existing applications. This is a critical requirement because system parameters will be set<br />
based on these decisions.<br />
To properly analyze and tune an <strong>OS</strong>/<strong>390</strong> system serving as a <strong>Web</strong> <strong>server</strong> and hosting<br />
legacy applications, identify the type and amount of data required and the gathering<br />
requirements. When determining the proper <strong>OS</strong>/<strong>390</strong> resource settings for UNIX, TCP/IP<br />
and the <strong>Web</strong> <strong>server</strong>, do not compare the values from other environments, such as NT<br />
<strong>server</strong>s. The level of resources to support these applications will not be the same in an<br />
<strong>OS</strong>/<strong>390</strong> environment.<br />
The <strong>performance</strong> data collection process<br />
Before choosing the types of data to collect, become familiar with the processes and<br />
functions a <strong>Web</strong> transaction uses and system implications of implementing a <strong>Web</strong> <strong>server</strong><br />
environment. Awareness of new parmlib members, data logs and SMF records is critical<br />
before you can design a <strong>performance</strong> methodology. Many of the <strong>performance</strong> tools<br />
available seem to relate only to the specific function they are measuring and do not offer a<br />
viewpoint of how well the total system is performing. Our methodology provides a system<br />
level <strong>performance</strong> assessment by taking advantage of new data, tools and processes.<br />
System measurement data is extracted from RMF type 70 through RMF type 77 records,<br />
SMF type 30 subtypes 2 and 3 records, and cache analysis data, SMF type 74 subtype 5.<br />
Data related to granularity and quality of <strong>performance</strong> is very important. Too much data<br />
will slow the process and increase the complexity and cost without providing additional<br />
benefit. Historical <strong>performance</strong> data is valid for about seven days before it loses its value.<br />
Intervals for <strong>performance</strong> analysis are reported on an hourly basis. Seven days of <strong>performance</strong><br />
data is sufficient to ensure consistency and repeatability.<br />
Two additional record types are used to analyze <strong>Web</strong> <strong>server</strong> <strong>performance</strong>: SMF type 92<br />
UNIX HFS file system activity and SMF type 103 <strong>Web</strong> <strong>server</strong> configuration and <strong>performance</strong><br />
statistics. Changes to the SMF parmlib member must be made to include these<br />
record types and additional application steps must be taken to initiate the creation of the<br />
new 92 and 103 records. To collect information about HFS files, you must collect SMF type<br />
92 records prior to the HFS mounts.
The <strong>IBM</strong> HTTP <strong>server</strong> has a number of functions that exploit <strong>OS</strong>/<strong>390</strong> facilities, such as<br />
the workload manager and the operator interface. You can request the HTTP <strong>server</strong><br />
to write this information data to SMF. Exploitation of SMF allows the <strong>Web</strong> <strong>server</strong> to be<br />
managed in the same way as other <strong>OS</strong>/<strong>390</strong> applications. If SMF is set up correctly<br />
and the <strong>server</strong> has SMF logging enabled, <strong>performance</strong> information will be collected<br />
periodically according to the SMF interval and saved as SMF record 103, subtype 2.<br />
SMF <strong>Web</strong> <strong>server</strong> data (SMF type 103) and SMF application data (SMF type 30) can<br />
be processed together to help determine if resource contention or bottlenecks are<br />
occurring in your <strong>Web</strong> <strong>server</strong> applications. Based on the analysis of the data, you can<br />
verify that proper values, options and setup parameters have been specified in the<br />
parmlib members. You can identify the resources used and determine whether additional<br />
resources are required.<br />
Workload classification<br />
Summarizing the data and facilitating a top-down approach requires two types of<br />
data groupings: shift definitions and workload mappings. These are defined for each<br />
unique system image.<br />
• Shift definitions:<br />
Each hour of the day is assigned a shift definition, based on the business characteristics<br />
of a 24-hour cycle. Analysis may then be focused on resource utilization for an<br />
hour, a shift or an entire day.<br />
• Workload mappings:<br />
Compatibility mode—Each <strong>performance</strong> group specified in the IEAIPSxx member of<br />
SYS1.PARMLIB is assigned to a workload type definition. Normally, the number of<br />
workload types is limited to less than ten, making it easy to view them on a graph. System<br />
resource utilization is reviewed at the workload level. For selected workload<br />
types, additional charts can be produced at the <strong>performance</strong> group level, offering<br />
more granularity.<br />
Goal mode—Each service class specified in the workload manager service policy is<br />
assigned to its corresponding workload type as specified in the service policy.<br />
To provide additional information about the data used to produce the charts and<br />
graphs, a tabular summary table of the SMF/RMF data is included at the end of the<br />
report. The technical analyst can use it as a checks-and-balances list.<br />
9
10<br />
<strong>OS</strong>/<strong>390</strong> <strong>Web</strong>Sphere <strong>performance</strong> analysis<br />
An <strong>OS</strong>/<strong>390</strong> <strong>Web</strong>Sphere <strong>performance</strong> analysis will include a review of the SYS1.PARMLIB<br />
member BPXPRMxx.<br />
The RMF post processor provides a UNIX (OMVS) activity report. This report provides<br />
information needed to tune parameters in the BPXPRMxx member of SYS1.PARMLIB.<br />
The RMF OMVS activity report provides information on:<br />
• System-wide use of callable services<br />
• The number of callable services called<br />
• The central processor time for callable services.<br />
• Statistics that aid in the tuning of the following process activity parameters<br />
• MAXPROCSYS—Maximum number of concurrent active processes on the system<br />
• MAXPROCUSER—Maximum number of concurrent active processes<br />
associated with any single user<br />
• MAXUIDS—Maximum number of concurrent active users on the system<br />
• MAXMAPAREA—Maximum number of pages that can be used for<br />
memory mapping<br />
• MAXSHREPAGES—Maximum number of pages of shared storage<br />
concurrently in use as created by fork(), ptrace(), mmap() and shmat()<br />
• IPCMSGNIDS—Maximum number of unique message queues on the system<br />
• IPCSHMNIDS—Maximum number of unique shared memory segments on<br />
the system<br />
• IPCSHMSPAGES—Maximum number of pages for shared memory segments<br />
on the system<br />
• IPCSEMNIDS—Maximum number of unique semaphore sets on the system.
Example<br />
In the table below, MAXPROCSYS is experiencing overruns. If there are system resources<br />
available to support additional forked or spawned address spaces, you would increase the<br />
MAXPROCSYS value (100) to a higher number. This would eliminate the overruns.<br />
OMVS RMF KERNAL ACTIVITY REPORT<br />
OMVS SYSTEM CALL ACTIVITY <strong>OS</strong>/<strong>390</strong> SYSTEM ID DSP1 DATE 03/02/1999 PAGE 1<br />
————————————————————————————————————————————————————————————————————————————————————————————————————————<br />
MINIMUM AVERAGE MAXIMUM<br />
————————————————————————————————————————————————————————————————————————————————————————————————————————<br />
SYSCALLS (N/S) 102.0 261.9 1129<br />
CPU TIME (H/S) 0.000 0.314 1.000<br />
OMVS PROCESS ACTIVITY<br />
————————————————————————————————————————————————————————————————————————————————————————————————————————<br />
PROCESSES(MAXPROCSYS) USERS(MAXUIDS) PROCESSES PER USERS(MAXPROCUSER)<br />
MAXIMUM (TOT) 100 600 50<br />
————————————————————————————————————————————————————————————————————————————————————————————————————————<br />
MINIMUM AVERAGE MAXIMUM MINIMUM AVERAGE MAXIMUM MINIMUM AVERAGE MAXIMUM<br />
————————————————————————————————————————————————————————————————————————————————————————————————————————<br />
CURRENT (TOT) 46 46.03 47 3 3.000 3<br />
OVERRUNS (N/S) 0.000 10.40 21.30 0.000 0.000 0.000 0.000 0.000 0.000<br />
OMVS INTER-PROCESS COMMUNICATION<br />
————————————————————————————————————————————————————————————————————————————————————————————————————————<br />
MSG QUE IDS(IPCMSGNIDS) SEMAPHORE IDS(IPCSEMNIDS) SHR MEM IDS(IPCSHMNIDS) SHR MEM PGS(IPCSHMPAGES)<br />
MAXIMUM (TOT) 500 20000 500 2621K<br />
————————————————————————————————————————————————————————————————————————————————————————————————————————<br />
MIN AVG MAX MIN AVG MAX MIN AVG MAX MIN AVG MAX<br />
CURRENT (TOT) 0.000 0.000 0.000 13.00 12.99 13.00 154.0 153.8 154.0 40238 40186 40238<br />
OVERRUNS (N/S) 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000<br />
————————————————————————————————————————————————————————————————————————————————————————————————————————<br />
MEM MAP STOR PAGES(MAXMMAPAREA) SHARED STORAGE PAGES(MAXSHAREPAGES)<br />
MAXIMUM (TOT) 4096 32.8M<br />
———————————————————————————————————————————————————————————————————————————————————————<br />
MINIMUM AVERAGE MAXIMUM MINIMUM AVERAGE MAXIMUM<br />
———————————————————————————————————————————————————————————————————————————————————————<br />
CURRENT (TOT) 1295 1294 1295 684K 683K 684K<br />
OVERRUNS (N/S) 0.000 0.000 0.000 0.000 0.000 0.000<br />
<strong>OS</strong>/<strong>390</strong> compatibility mode systems<br />
<strong>OS</strong>/<strong>390</strong> compatibility mode systems require a review of the IEAICSxx, IEAIPSxx,<br />
IEAOPTxx parmlib members. <strong>Web</strong> <strong>server</strong>s can create many address spaces. Check the<br />
IEAIPSxx parmlib member to ensure that proper values are set to handle this increase<br />
(domain CNSTR values).<br />
IEAICSxx and IEAIPSxx should be modified to ensure that workloads acting as <strong>server</strong>s<br />
carry a higher dispatching priority than other workloads. The dispatching value should be<br />
in line with your business requirements. If processor storage contention exists, you may<br />
use storage isolation for the <strong>server</strong> address spaces. Review the IEAOPTxx parmlib member<br />
to ensure that all values are set correctly for the new <strong>Web</strong> workloads.<br />
11
12<br />
<strong>OS</strong>/<strong>390</strong> goal mode systems<br />
<strong>OS</strong>/<strong>390</strong> goal mode systems require a review of the service policy classification rules. Check<br />
your service policy to ensure that proper service classes and objectives are specified to<br />
manage the increase in the number of address spaces. Based on established business<br />
requirements, workloads that act as <strong>server</strong>s should be at a higher dispatching priority and<br />
importance than other applications.<br />
TCP/IP provides the transport for all HTTP requests, so validating the parameters for TCP/IP<br />
will ensure the settings support transaction activity. Several settings may require adjustment:<br />
• Make the TCP/IP MVS dispatching priority and VTAM the same setting. Other TCP/IP<br />
services can be set lower.<br />
• For goal mode, TCP/IP should:<br />
• Be in unique workload and service classes<br />
• Have high importance and velocity<br />
• Run SYSBMAS and BPXOINIT in SYSSTC.<br />
• Set TCP/IP region size to REGION=0M. This allows TCP/IP to allocate the maximum virtual<br />
storage above and below the 16MB line. Check IEFUSI exit for restrictions to specifying the<br />
REGION parameter.<br />
• Print a copy of the PROFILE and DATA members for the TCP/IP proc(s).<br />
• Make buffer pools large enough to support traffic volumes. Use the TCP/IP shutdown statistics<br />
to estimate and tune the number and size of buffers. Buffer pool parameters are<br />
documented in the TCP/IP User Guide.<br />
• Check the <strong>IBM</strong> TCP/IP Performance Tuning Guide—SC31-7188 and the MVS TCP/IP<br />
User’s Guide—SC31-7136 for additional tuning tips.
Pinging<br />
Ping is a simple test that can be done to check communication connections and response<br />
times. It sends an echo to an IP host to determine if the host is accessible.<br />
Example<br />
ping newsite (length 80 count 4)<br />
Results:<br />
Ping CS V2R6: Pinging host NEWSITE (9.38.253.16). Use ATTN to interrupt<br />
PING: Ping #1 response took 0.055 seconds. Successes so far 1.<br />
PING: Ping #2 response took 0.055 seconds. Successes so far 2.<br />
PING: Ping #3 response took 0.053 seconds. Successes so far 3.<br />
PING: Ping #4 response took 0.066 seconds. Successes so far 4.<br />
Trace route<br />
Tracerte is similar to ping, except it reports the round trip time by intermediate host sites.<br />
Example<br />
Trace route to NEWSITE (9.38.253.16)<br />
Results:<br />
1 (9.82.1.103) 8 ms 5 ms 8 ms<br />
2 (9.82.96.1) 8 ms 7 ms 9 ms<br />
3 (9.32.74.141) 14 ms 14 ms 12 ms<br />
4 (9.32.1.21) 24 ms 46 ms 22 ms<br />
5 (9.32.184.102) 50 ms 78 ms 58 ms<br />
6 (9.38.253.16) 58 ms 76 ms 72 ms<br />
The <strong>OS</strong>/<strong>390</strong> eNetwork Communication Server: IP User’s Guide and IP Configuration<br />
Guide—SC31-8513 contains detailed information on other commands and how to interpret<br />
their results.<br />
13
14<br />
<strong>Web</strong> <strong>server</strong> I/O <strong>performance</strong><br />
An analysis of the HFS file system <strong>performance</strong> using SMF type 92 and SMF type 30<br />
records ensures that the application file system is configured properly and performing<br />
as well as possible with the available system resources.<br />
SMF Type 30 Data:<br />
Key SMF type 30 subtype 2 & 3 record fields:<br />
Common address space work activity section:<br />
SMF30JBN—Job Name<br />
SMF30EXN—Program name of UNIX service process<br />
SMF30CPT—CPU time<br />
SMF30CPS—SRB time<br />
SMF30WST—Storage frames<br />
SMF30PGI—Page-in activity<br />
SMF30NSW—Swap activity<br />
SMF30TEP—Total blocks transferred<br />
UNIX application/job resource usage section:<br />
SMF30OPI—UNIX process ID<br />
SMF30OFR—HFS reads to regular files<br />
SMF30OFW—HFS writes to regular files<br />
SMF30ODR—HFS directory reads<br />
SMF30<strong>OS</strong>C—Total service request
Using SMF type 30 records, you can create a table that displays by program name, system<br />
resource and file activity. The SMF process ID (SMF30OPI) field can be used with<br />
SMF type 92 records to identify HFS dataset names.<br />
Sample Table:<br />
DAY HOUR SCLASS JBN PROGRAM | PROCESS CPU CPU REQUEST<br />
SMF30JBN *SMF30EXN | SMF30OPI %USED SECONDS SMF30<strong>OS</strong>C<br />
**************************************|***********************************<br />
19 9.75 WEBSRV HTTP11 <strong>server</strong>... | 16777244 1.0 9 6551<br />
19 10.00 WEBSRV HTTP11 <strong>server</strong>... | 16777244 0.9 8 4909<br />
19 10.25 WEBSRV HTTP11 <strong>server</strong>... | 16777244 0.9 8 6718<br />
19 10.50 WEBSRV HTTP11 <strong>server</strong>... | 16777244 0.7 7 4747<br />
19 10.75 WEBSRV HTTP11 <strong>server</strong>... | 16777244 0.8 8 6348<br />
19 11.00 WEBSRV HTTP11 <strong>server</strong>... | 16777244 0.9 8 5410<br />
19 11.25 WEBSRV HTTP11 <strong>server</strong>... | 16777244 0.6 6 4492<br />
SMF type 92 records:<br />
Open MVS File System Activity data describes the files defined in the BPXYMNTE macro<br />
of the BPXPRMxx member of SYS1.PARMLIB.<br />
The SMF92 record has multiple subtypes:<br />
Subtype 1—Written when a file system is mounted**<br />
Subtype 2—Written after the file system is quiesced<br />
Subtype 4—Written after the file system is unquiesced<br />
Subtype 5—Written when the file system is unmounted**<br />
Subtype 6—Written when the file system is remounted<br />
Subtype 10—Written when a file is opened<br />
Subtype 11—Written when a file is closed**<br />
**Key subtypes that have <strong>performance</strong> information. Subtype 11 is the most important<br />
subtype for <strong>performance</strong> data.<br />
15
16<br />
SMF 92 HFS file information:<br />
From the SMF type 30 record, use the SMF30OPI (16777244) value to identify the HFS file ID<br />
(SMF92CIN) in the SMF type 92 records. You can also review file information for this job.<br />
DAY HOUR SYSID JOB FILE DEVICE | PROCESS DIRBLKS RBLKS WBLKS<br />
SMF92CIN SMF92CDN | SMF92PID SMF92CDI SMF92CIR SMF92CIW<br />
***************************************|*************************************<br />
19 10.00 SSP1 HTTP11 1138 10 | 16777244 18 52 3<br />
19 10.00 SSP1 HTTP11 2130 9 | 16777244 27 2810 151<br />
19 10.00 SSP1 HTTM11 2133 27 | 16777244 22 831 51<br />
19 10.00 SSP1 HTTP11 2140 26 | 16777244 18 474 2<br />
19 10.00 SSP1 HTTP11 3162 23 | 16777244 36 57 0<br />
19 10.00 SSP1 HTTP11 3170 23 | 16777244 9 25 1<br />
19 10.00 SSP1 HTTP11 5280 7 | 16777244 31 2011 61<br />
19 10.00 SSP1 HTTP11 6338 8 | 16777244 30 1056 129<br />
19 10.00 SSP1 HTTP11 6339 8 | 16777244 43 2271 156<br />
19 10.00 SSP1 HTTP11 6348 8 | 16777244 18 96 3<br />
19 10.00 SSP1 HTTP11 6349 8 | 16777244 9 32 2<br />
You can find the dataset name by using the file ID (1138) and matching it to the file ID in<br />
the UNIX file and directory list. The following UNIX command will produce a list of<br />
dataset names. It is important to note that the base directory is a good place to start.<br />
This list may be very long depending on how many datasets are in the HFS file.<br />
Example:<br />
(Ls - List file & directory names)<br />
ls - R i l / > dataset.name<br />
Results:<br />
To save space, some results have been excluded. In an actual list, there will be a section<br />
for each directory. The first line tells how many datasets are in the directory. The sixth field<br />
is the file ID that you will match with the file ID from the SMF type 92 Records. You now<br />
have the dataset name—srvrctrl.pid<br />
etc/NC:<br />
total 56<br />
10 -rw-r—r— 1 OMVSKERN OMVSGRP 2130 Apr 20 08:56 BETA.conf confold<br />
11 -rw-r—r— 1 OMVSKERN OMVSGRP 3162 Apr 19 15:48 BETA.confold<br />
12 -rwxr-xr-x 1 OMVSKERN OMVSGRP 343 Apr 19 15:47 BETA.envvars<br />
6 -rw-r—r— 1 OMVSKERN OMVSGRP 1138 May 7 10:56 srvrctrl.pid<br />
7 -rw-r—r— 1 OMVSKERN OMVSGRP 6349 May 10 08:13 test.confdel<br />
8 -rwxr—r— 1 OMVSKERN OMVSGRP 328 May 7 10:51 test.
HFS DASD Performance<br />
Following are recommendations for improving HFS DASD <strong>performance</strong>:<br />
• Use cached DASD devices.<br />
• HFS writes all data to disk synchronously. SMS 1.5 HFS enhancement is the<br />
recommended base level. With 1.5, the writes can also be asynchronous.<br />
• DASD FAST write and dynamic cache management enhanced will give the<br />
best I/O response times.<br />
• Avoid multiple extents in HFS datasets by consolidating to one extent using DFSMSdss.<br />
• Spread high activity HFS datasets across multiple volumes to keep user HFS datasets<br />
separate from system HFS datasets.<br />
• Fix HFS buffers for SMS in BPXPRMxx.<br />
Example<br />
FILESYSTYPE TYPE(HFS)<br />
ENTRYPOINT(GFUAINIT)<br />
PARM(‘SYNCHDEFAULT(xx),VilRTUAL(xx),FIXED(xx)’)<br />
• Place UNIX files as close to the root directory as possible.<br />
• HFS locks all the paths to the file.<br />
• Try to minimize the number of directory levels.<br />
• Avoid collecting unnecessary data. Be selective when collecting statistics and log data.<br />
The HFS dataset is a standard <strong>OS</strong>/<strong>390</strong> PDSE structure only in content. The PDSE<br />
access method is only used to open the file. After it is opened, it is managed by<br />
UNIX services. The DCB parameter is DSNTYPE=HFS.<br />
17
18<br />
Additional Information<br />
• HFS datasets do not benefit from enhanced internal processing for PDSE searches.<br />
• HFS datasets are not conventional PDSE files. DFSMS will not use expanded storage for<br />
hiperspaces staging.<br />
• HFS datasets must be allocated as system managed datasets.<br />
• You must define at least one storage group and one data class. To specify <strong>performance</strong><br />
requirements, define a storage class.<br />
Realizing the benefits of <strong>performance</strong> analysis<br />
Usually a <strong>performance</strong> assessment is performed when applications are experiencing<br />
<strong>performance</strong> problems or when analysts need to know if there is enough capacity to<br />
support growth or new workloads. It is critical to weigh the cost of performing an assessment<br />
(usually consisting of the costs associated with consultant fees and developing new<br />
skills) with the financial impact of not obtaining the right level of system <strong>performance</strong>. If a system<br />
is performing efficiently, productivity improves and business objectives are met. If a<br />
system is not performing well, productivity decreases and your skilled analysts are<br />
distracted from working on new business objectives. Conflicts resulting from the complex<br />
process of trying to determine the problem without using a proven methodology often<br />
leads to a decline in team moral within your IT organization. By far, the worst effect of poor<br />
<strong>performance</strong> is unsatisfied clients; this has an extremely negative impact on the new<br />
application’s success.<br />
Establishing a standard method for <strong>performance</strong> analysis of your <strong>OS</strong>/<strong>390</strong> <strong>Web</strong> <strong>server</strong>s<br />
provides a consistent, effective process for monitoring and managing system resources.<br />
Periodic analysis optimizes valuable systems and network resources, as well as the skills<br />
of your analysts. Using an independent source for <strong>performance</strong> analysis offers you a<br />
periodic validation of your processes and procedures.
For more information<br />
To learn more about <strong>IBM</strong> Performance Management and Capacity Planning Services and<br />
<strong>IBM</strong> Global Services, visit www.ibm.com/services or contact your <strong>IBM</strong> sales representative.<br />
You can also contact us at 1 800 426-4682 in the U.S. and 1 919 301-4141 outside<br />
of the U.S., or e-mail us at capacity@us.ibm.com.<br />
Gary Hall is a certified IT specialist responsible for <strong>performance</strong> management on <strong>OS</strong>/<strong>390</strong><br />
software platforms for <strong>IBM</strong> Performance Management and Capacity Planning Services.<br />
For more information about <strong>Web</strong> <strong>server</strong> <strong>performance</strong>, the following publications are<br />
available:<br />
UNIX System Services Planning—SC28-1890<br />
UNIX Command Reference—SC28-1892<br />
<strong>OS</strong>/<strong>390</strong> RMF Report Analysis—SC28-1950<br />
<strong>OS</strong>/<strong>390</strong> MVS System Management Facilities—GC28-1783<br />
<strong>IBM</strong> <strong>Web</strong>Sphere Application Server 1.1—SG24-5604<br />
<strong>IBM</strong> HTTP Server 5.1—SG24-5603<br />
Hierachical File System Usage Guide—SG24-5482<br />
<strong>IBM</strong> TCP/IP Performance Tuning Guide—SC31-7188<br />
MVS TCP/IP User’s Guide—SC31-7136<br />
<strong>OS</strong>/<strong>390</strong> eNetwork Communication Server: IP User’s Guide and IP Configuration<br />
Guide—SC31-8513<br />
19
© Copyright <strong>IBM</strong> Corporation 2000<br />
<strong>IBM</strong> Global Services<br />
Route 100<br />
Somers, NY 10589<br />
Produced in the United States of America<br />
04-00<br />
All Rights Reserved<br />
<strong>IBM</strong>, the e-business logo, CICS, DB2, IMS/ESA,<br />
<strong>OS</strong>/<strong>390</strong>, and <strong>Web</strong>Sphere are registered<br />
trademarks or trademarks of International<br />
Business Machines Corporation in the United<br />
States, other countries or both.<br />
Windows NT is a registered trademark of Microsoft<br />
Corporation in the United States, other countries<br />
or both.<br />
UNIX is a registered trademark in the United States<br />
and other countries licensed exclusively through<br />
The Open Group.<br />
Other company, product and service marks may be<br />
trademarks or service marks of others.<br />
References in this publication to <strong>IBM</strong> products or<br />
services do not imply that <strong>IBM</strong> intends to make them<br />
available in all countries in which <strong>IBM</strong> operates. <strong>IBM</strong><br />
reserves the right to change specifications or other<br />
product information without notice.<br />
This publication may include typographical errors<br />
and technical inaccuracies and may be changed<br />
or withdrawn at any time. The content is provided<br />
as is, without warranties of any kind, either express<br />
or implied, including the implied warranties of<br />
merchantability and fitness for a particular purpose.<br />
Some jurisdictions do not allow disclaimer of express<br />
or implied warranties in certain transactions, therefore<br />
this disclaimer may not apply to you.<br />
G510-1183-00