You're having performance problems on your iSeries, and you don't know what to do. You've looked at Work with System Activity (WRKSYSACT), Work with Active Jobs (WRKACTJOB), Work with System Status (WRKSYSSTS), and Work with Disk Status (WRKDSKSTS). You've used the Performance Tools for iSeries Licensed Program Product (5722-PT1) to run System Reports, Component Reports, Job Reports, and Resource Reports. One day, you even started a performance trace (STRPFRTRC). These are all great tools. But you still can't see the problem. So what else can you do? Where else can you turn? Maybe it's time for a visit to the iDoctor.
What Is iDoctor?
No, it's not the person you see once a year to get your eyes checked or get your prescription renewed. This iDoctor can do a lot for you, but helping you see better isn't one of them unless you're looking for answers to your performance problems.
iDoctor for iSeries is a set of tools that can be used on your system to help you identify various performance problems. Better yet, if you want to be proactive, these tools can help you determine the health of your system, and you can use that as a baseline for future performance problems. The software for iDoctor for iSeries consists of tools to collect performance data on your system and also provides the tools to analyze that data either on the same system or on a different system.
Components of iDoctor for iSeries
iDoctor for iSeries consists of the following components:
- Job Watcher
- Heap Analysis Tools for Java (a.k.a. Heap Analyzer)
- Performance Explorer (PEX) Analyzer
- Performance Trace Data Visualizer (PTDV)
Each of these components requires you to install software on the server and client. The server-side portion of these components consists of programs for data collection and analysis that are designed to consolidate the performance data into a more usable and readable format. The client-side components for Job Watcher, Heap Analyzer, and PEX Analyzer consist of GUIs for displaying the server data in graph and table views. These views allow you to easily see and interpret the collected performance data. PTDV provides table and tree views of PEX collection data. PTDV is not a collection tool but rather a tool for processing, analyzing, and viewing PEX collection trace data residing in PEX database files. It is not discussed in detail in this article. PTDV and Heap Analyzer are offered as a free service on an as-is basis. All other components offer a 45-day free trial period with the option to buy after the trial period. Requests to purchase the other fee-based components can be made via the iDoctor Web site.
Let's take a closer look at the Job Watcher, Heap Analyzer, and PEX Analyzer components of iDoctor for iSeries.
Job Watcher
Do you have situations in which a job is taking a long time to run but using barely any CPU resources and doing very little disk I/O? This is a good indication that your system may be having some type of contention problem. Job Watcher is a great tool for detecting job waits, seizes, and other types of contention. Job Watcher allows you to watch a specific job, a set of jobs, or all the jobs on your system. Watching all the jobs on your system is especially useful when you aren't sure which jobs are having performance problems or when you just want an overview of how your entire system is performing.
Job Watcher returns real-time information, and you don't have to wait until all the data is collected before you start your analysis. You can start looking at the data almost immediately. The data is displayed in an easy-to-view, graphical format. Job Watcher also gives you drill-down capability to determine the impact that a wait condition is having on the entire system or on a particular job. Even if you are not a performance expert and are not able to completely interpret the results, it will at least enable you to pinpoint a particular problem and lead you in the right direction to get additional assistance if needed.
Another great feature is that Job Watcher collects the data from the jobs, threads, and tasks you're watching in a manner that does not affect other jobs on the system while it is collecting, so it won't add to your performance problems.
Heap Analyzer
Do you have applications written in Java or C++? As more and more applications are written in those languages, there is a need for tools to assist you in debugging some very complex problems. A new term that comes along with Java and C++ is "heap growth." According to the Redbook IBM iDoctor for iSeries Job Watcher: Advanced Performance Tool, usually the first symptom of a problem related to heap growth is a gradual or a sudden increased rate of paging in the pool the Java jobs are running in. This heavy paging is most often caused by an uncontrollable growth of the heap size. The application may have a leak, or the garbage collector may not be doing its job. You could keep adding memory to the pool, but doing so would only treat the symptom, not fix the actual problem.
Heap Analyzer provides all the tools you need for doing heap analysis, advanced debug, and application review. As with other performance tools, you need to collect the data first and then analyze it. According to the iDoctor for iSeries documentation, you can collect data three ways:
- Object table dump (provides a quick overview of objects in existence at the time the watch is submitted)
- Object create profile (helps you identify which objects are growing over time)
- Object root finder (helps identify where an object is rooted within the application)
Heap Analyzer runs in the background and will run on very large heaps without any affect on the JVM (Java Virtual Machine) operation while it is running.
PEX Analyzer
Some of you may already be familiar with Performance Explorer (PEX) and its ability to assist you in identifying issues affecting system and application performance. It does this by allowing you to select the type of performance data you want collected. Before we go any further, we need to clarify the difference between PEX and PEX Analyzer.
PEX comes free with i5/OS and is a detailed performance data collection tool managed by i5/OS commands such as Add PEX Definition (ADDPEXDFN), Start Performance Explorer (STRPEX), and End Performance Explorer (ENDPEX). The Print PEX Report (PRTPEXRPT) command is the typical method used to view reports created over PEX data. This command is included as part of the iSeries Performance Tools Licensed Program Product.
PEX Analyzer still provides the same capabilities as PEX as far as identifying issues affecting your system and application performance; however, one of the biggest benefits it provides is a graphical visualization of the PEX collection data. If you've ever had to analyze a very large and complex output from the PRTPEXRPT, you will immediately recognize and appreciate this benefit. PEX Analyzer provides the next level of detail beyond the iSeries Performance Tools Licensed Program Product and gives you a low-level summary of disk operations, CPU utilization, file opens, MI programs, wait states, DASD space consumption, and more.
Call the iDoctor!
If you haven't been able to clearly see your performance problems lately, take the next step and visit the iDoctor for iSeries. As you can see, the iDoctor can take you to the next level when other performance tools do not help you identify your problem. These tools have been developed to provide you with detailed analyses for varying situations and to help you determine the cause of your performance problems.
Acknowledgment
The information for the basis of this article was obtained from the iDoctor for iSeries documentation and the Redbook IBM iDoctor for iSeries Job Watcher: Advanced Performance Tool. The author wishes to acknowledge and offer her thanks to the contributors of this information in order to write this article.
Sandi Chromey is a Senior IT/Architect Specialist with IBM Global Services. She provides iSeries performance support to both internal and external customers within IBM Global Services. Sandi has been with IBM for 23 years, of which 12 years have been in IT. She also has experience in iSeries development and component testing.
LATEST COMMENTS
MC Press Online