Mainframe Performance Management Guide

Mainframe Performance Management Guide

Diego Asturias

The idea behind mainframe performance management is to help identify, diagnose (or even predict) the application’s performance problems as quickly as possible and prevent problems before they even arise. Monitoring and managing a mainframe’s performance is therefore critical to providing the experience that end-customers demand and ultimately to avoid losing revenue.

This mainframe performance management guide includes performance concepts, general tips, and solutions on how to improve mainframe performance.

Table of Contents

  1. A Mainframe and its Performance
  2. Problems and Challenges of a Mainframe’s Performance
  3. Mainframe Performance Management
  4. The Different Roles in Mainframe Performance Management
  5. The Factors that Affect Mainframe Performance
  6. CPU and MIPs, Keys to Measure Performance
  7. Key Considerations of a Mainframe Performance Management Solution
  8. Examples of Mainframe Performance Monitoring Solutions

1. A Mainframe and its Performance

Mainframes are high-performance computers that concentrate vast amounts of memory, processing power, and I/O adapters in a single physical unit. They are essential to applications requiring the highest resiliency, agility, and security levels. Mainframes are set up in a way that they can run 24/7 in near-peak utilization while handling high volumes of throughput.

As a mainframe definition implies, performance is key to mainframes. Mainframe performance is the ‘measurable' amount of valuable work that the mainframe can accomplish. The mainframe's performance should be carefully managed and monitored so that the mainframe can run in an ongoing near-peak utilization. Underprovisioning a mainframe with high performance can be a waste of valuable resources.

The sys admins (and even end-users) will feel a mainframe's optimized performance through its efficiency, execution, speed, and accuracy. To improve a mainframe's performance, sys admins should aim for:

  • Short response times for a particular workload
  • A high rate of processing work (throughput)
  • Low resource utilization
  • High availability
  • Large bandwidth and short transmission times

In contrast, mainframe performance problems can be caused by various reasons, including a lack of resources in the entire system to improper application design. These problems are distinguished by the following factors:

  • Poor and slow response times for particular transactions.
  • The message transmission is slow.

2. Problems and Challenges of a Mainframe’s Performance

As a business grows, so do its application’s workloads. These businesses can’t simply reduce mainframe capacity to save from the additional costs. Reducing capacity (for instance, MIPS- Millions of Instructions Per Second) will likely save users from the added expenses, ultimately decreasing application performance. Businesses would instead need to optimize the mainframe performance and adapt to this growth.

Managing the performance of a mainframe does present a few challenges; these include:

  • Data gathering and processing Managing a mainframe performance can be quite challenging without a proper tool that centralizes data collection and processing (curating, deduplicating, compressing, etc.).
  • Reporting and visualizing data Current mainframe performance solutions lack the right tools to report and visualize data. A real-time report tool can help sys admins find the balance between responding quicker to issues at hand or making better long-term decisions to prevent problems.
  • Meeting Service Level Agreements (SLAs) and other performance goals The end customer and service provider running the mainframe agree on an SLA to meet a high level of reliability, availability, and uptime.

3. Mainframe Performance Management

Mainframe performance management should be an ongoing and daily operational process. It ensures that your system uses resources efficiently, provides the best services to the business and end-users, and prevents the dreaded downtimes and failures. In addition, efficient performance management can also help you decide whether to adapt quickly or postpone changes.

Managing a mainframe’s performance is vital for optimizing the mainframe’s utilization, availability, and throughput and reducing response times. Sys admins can achieve such optimizations by keeping track of ongoing capabilities, identifying trends, or making simple but appropriate adjustments.

Mainframe performance management can help understand the current ‘capacity’ standpoint and what needs to be done to support the increase of predictable and unpredictable transactions or workloads. Capacity planning helps prevent potential performance problems and ensures that you have the adequate capacity to handle what’s at hand without purchasing more capacity.

4. The Different Roles in Mainframe Performance Management

Mainframe performance management can be achieved by different teams, from operations, developers, or DevOps.

From an operator’s point of view, a solution should allow access to operational data and improve end-to-end visibility across all environments (including on-prem, cloud, and hybrid). Operators should be able to monitor the system and have detailed data about the end-to-end health of the system.

The mainframe developer has a different role on the mainframe. They need to create and maintain applications within the mainframe systems. Developers must write code, test it, look for bugs, and collaborate with other developers to ensure that the mainframe’s components are working properly. Mainframe developers also have other responsibilities, such as performing application maintenance through updates and modifications.

Both operators and developers are crucial for mainframe performance management. Finally, the DevOps teams can leverage modern practices and tools to deliver applications through an integrated pipeline.

5. The Factors that Affect Mainframe Performance

There are many different measurements that can be used to quantify a mainframe's application's workload efficiency. The most common and helpful performance measurement is time, but there are also others like memory, disk space, CPU, and more. Comparison of these resource measurements with the workload, for instance, workload/time, can be helpful in drawing conclusions. Keep in mind that these performance measurements are always interrelated and vary for every application execution most of the time, which makes it challenging when optimizing application performance.

Below is a list of well-known performance measurements (although not limited to). These can be used for analysis when optimizing your application's performance. An example of appropriate performance measurements can be CPU time or user time.

  • Time
  • CPU
  • Memory
  • Disk utilization
  • I/O contention
  • Compiler
  • Input/Output
  • Operating System
  • Load time

An external load impact usually comes from the lack of one or more of these resources, such as CPU processing power or memory. To reduce this external load impact, you can do the following:

  • Adjust the applications. First and most importantly, improve the application itself to enhance overall performance; for instance, improve an app's CPU consumption in order to reduce overall run time. In addition, reducing the number of applications running on the system will also reduce the application load.
  • Increase the amount of the challenged available resources. Second, improve the hardware's capacity. For instance, add more processors to increase the CPU power available or replace the current processors with better and faster models.

6. CPU and MIPs: Keys to Measuring Performance

A mainframe performance management tool should provide a data-driven and graphical approach to help you get the most from your mainframe resources. And that could be through controlling the MIPS and their resource consumption (CPU). MIPS is basically a general measurement for computing performance and when it comes to mainframes MIPS can help measure the computing cost.

At a basic level, a mainframe performance tool should help you: 

  • Maximize CPU utilization Have a solution that helps you identify when and what workloads are causing peaks of CPU utilization. High CPU consumption can have damaging consequences on your mainframe’s performance.
  • MIPS consumption Identify (and predict) the consumption of MIPS per workload across time. Using pre-defined z/OS LPAR capacities can help control MIPS consumption effectively. MIPS forecast can help reveal if the current mainframe’s capacity can manage the expansion of an application or growth in traffic without needing to purchase more processing. Knowing the consumption of MIPS can help allocate the resource-expensive MIPS for the core workloads that run on normal processors.
  • Logical Partitions (LPAR) Look for a mainframe performance tool that helps you determine and optimize LPAR’s configuration settings. Also, this tool should warn you of any impact of an eventual settings modification and point you into the right CPU resources allocation strategy. In addition, these tools should help you identify delays when LPAR accesses processing power.

7. Key Considerations of a Mainframe Performance Management Solution

Below are the key considerations that you should consider when finding a solution that optimizes the performance of your applications running on a mainframe.

  1. Proactive remediation A mainframe performance management solution should be able to help you proactively solve performance issues. Rather than isolating and reactively jumping to solve problems with a low MTTR (Mean Time To Resolution), the solution should be able to prevent such issues. Look for a solution that helps proactively prevent performance issues. A solution that provides real-time visibility into the mainframe application performance and transaction flows.
  2. Technical skills and capacities Migrating from old mainframes to new ones requires rewriting lots of lines of code. Unfortunately, most mainframes were built around the 80s and are still running with massive amounts of lines of legacy code like COBOL or Jobs Control Language (JCL). Reading and interpreting lines of code in these languages requires the right expertise (which is almost impossible to find nowadays). Always look for modern mainframe performance management solutions that help transition from experienced and legacy-knowledgable mainframe personnel to the newer generations.
  3. Reduced costs Mainframe maintenance and usage costs can be quite high. And companies usually struggle to reduce these costs. So, look for mainframe performance management solutions that help you reduce the Total Cost of Ownership (TCO) by allowing you to optimize performance, tune applications, automate, and improve overall personnel productivity.
  4. Facilitate monitoring and visibility. Modern mainframe performance management solutions come via Application Performance Monitoring (APM) or observability tools to help increase end-to-end visibility. These tools can extend system management (including mainframe) across different environments, such as cloud, on-prem, and hybrid. These tools also present a single interface so that developers or operators don’t need to correlate data. In addition, these tools can help generate real-time reports and insights about the mainframe’s performance to help determine the root causes of performance issues. Also, they provide granular access to detailed information and workloads management to help optimize resources and ultimately improve service levels and reduce operating costs.

8. Examples of Mainframe Performance Monitoring Solutions

Traditionally, mainframe performance has been managed through built-in OS management and monitoring systems. The mainframe’s hardware comes with sensors that allow real-time tracking of the entire mainframe. But this OS management and hardware approach limits to monitoring a single mainframe. Plus, legacy monitoring and management solutions were not built for today’s demands, especially when it comes to distributed or hybrid workloads. So, it can also be difficult to manage/monitor all the services that extend beyond a single mainframe into multiple hybrid environments.

Below is a list of examples of modern APM, observability solutions that extend beyond a single mainframe:

  1. Datadog Infrastructure Monitoring It is a cloud-based observability solution with infrastructure monitoring, APM, and logs management capabilities. Datadog provides wide visibility into the entire stack from a single platform. It integrates with z/IRIS software for expanded mainframe observability. Free trial available.
  2. Broadcom’sBroadcom’s CA Mainframe software Broadcom has been a long-time leader in mainframe operations management solutions. They provide various solutions, including traditional performance management, automation, DevOps, security, performance & management optimization, and more.
  3. Dynatrace It is a modern all-in-one solution that simplifies complex environments, including cloud, on-prem, and hybrid, through end-to-end observability, intelligent monitoring, and automation platform. Dynatrace is capable of managing and monitoring the IBM z mainframe. Free trial available.
  4. AppDynamics by Cisco It is a leader full-stack observability platform that provides real-time insights into the full technology stack to optimize your application’s performance. Appdynamics integrates with z/OS IBM z “APM Connect” to monitor your mainframe and applications from a single platform. Free trial available.
  5. BMC Automated Mainframe Intelligence (AMI) BMC has been in the IBM mainframe monitoring and management solutions market for a long time. They are now leaders in mainframe solutions and provide software for automation, service management, DevOps, and automated intelligence to monitor the performance of z/OS mainframes.