19.11.2012 Views

Addressing OS/390 Web server performance. - IBM

Addressing OS/390 Web server performance. - IBM

Addressing OS/390 Web server performance. - IBM

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!