Consulting Training Blog Careers About Us Contact Us

WebSphere Performance Tuning and Methodology Workshop Training

Course ID: WAS1581
Duration: 3 Days

Upcoming Classes

Sorry, nothing scheduled right now. Click the Get Notified button below to be alerted when a class is scheduled.

Get Notified

On Site/Private

Can't find a class that fits right for you? Contact us to inquire about scheduling your own private class

Contact Us


<p> This course provides in depth information on how to tune WebSphere, database server, web server and the operating system to extract the last drop of performance. It covers performance tuning methodology, how to detect a bottleneck and common problems and solutions. After taking this class, students will be able to methodically create a stress testing plan and find bottlenecks and resolve them.</p> <p> The students will perform hands on labs to create test scripts, perform stress test and gather key performance numbers. The class is generic as far as the stress testing tool is concerned. The concepts learned in this class can be used with any tool of choice.</p> <p> <span class="blueSubHeader" style="font-family: Arial, Helvetica, sans-serif; color: #000f47">Learning Objectives</span><br /> After completing this course, the student should be able to:</p> <ul> <li> Understand the performance testing methodology</li> <li> Identify potential bottlenecks in WebSphere® applications</li> <li> Analyze application performance with Websphere performance tools</li> <li> Create test cases</li> <li> Improve application databases configurations for optimal performance</li> <li> Know how to monitor applications after deployment</li> </ul> <p> <span class="blueSubHeader" style="font-family: Arial, Helvetica, sans-serif; color: #000f47">Length</span><br /> 3 Days</p>

Bring This Course To You

For groups of 5 or more, let Intertech bring this course to your location. Customized versions tailored towards your objectives are also available.

Learn More

Learning Objectives

<ul> <li> Understand the performance testing methodology</li> <li> Identify potential bottlenecks in WebSphere® applications</li> <li> Analyze application performance with Websphere performance tools</li> <li> Create test cases</li> <li> Improve application databases configurations for optimal performance</li> <li> Know how to monitor applications after deployment<span style="display: none"> </span></li> </ul>


<p> Good experience with WebSphere application development and/or QA. Some WebSphere admin introductory knowledge required.</p>

Course Outline

<div class="textBOLD12"> Performance Tuning Foundation</div> <ul style="margin-top: 0px"> <li class="text12"> List of Terms</li> <li class="text12"> Load</li> <li class="text12"> Active Load</li> <li class="text12"> Concurrent Load</li> <li class="text12"> Peak Load</li> <li class="text12"> Throughput</li> <li class="text12"> Throughput Curve</li> <li class="text12"> The significance of throughput</li> <li class="text12"> Response time</li> <li class="text12"> Response Time Curve</li> <li class="text12"> Think time</li> <li class="text12"> User Ramp Up</li> <li class="text12"> Saturation</li> <li class="text12"> Response time at system saturation</li> <li class="text12"> Response time past the buckle point</li> <li class="text12"> Interpreting response time trends</li> <li class="text12"> Performance Acceptance Criteria</li> <li class="text12"> Measure your system's steady state</li> <li class="text12"> Path length</li> <li class="text12"> Bottleneck</li> <li class="text12"> Dealing with a bottleneck</li> <li class="text12"> Scaling</li> <li class="text12"> Horizontal and vertical scaling</li> <li class="text12"> Analyze before trying to scale</li> <li class="text12"> Calculating QA User Count</li> <li class="text12"> Accommodating QA User Count</li> <li class="text12"> Scaling Up QA Configuration</li> <li class="text12"> Bottom Up and Top Down</li> <li class="text12"> Bottom Up Testing</li> </ul> <div class="textBOLD12"> WebSphere Queuing Network</div> <ul style="margin-top: 0px"> <li class="text12"> The WebSphere Queuing Network</li> <li class="text12"> Basic Tuning Principle</li> <li class="text12"> Terms</li> <li class="text12"> Open/Closed Queues in WebSphere</li> <li class="text12"> Queue Parameter List</li> <li class="text12"> IBM HTTP Server 6.0/Apache 2.x</li> <li class="text12"> Windows Thread Control</li> <li class="text12"> UNIX Threads and Process Control</li> <li class="text12"> Configuring MaxClients or ThreadsPerChild</li> <li class="text12"> Backlog Queue</li> <li class="text12"> Web Container Transport Chain</li> <li class="text12"> Configure Transport Chain</li> <li class="text12"> TCP Inbound Channel (TCP_2)</li> <li class="text12"> Thread Pool</li> <li class="text12"> Back to TCP Inbound Channel</li> <li class="text12"> HTTP Inbound Channel (HTTP_2)</li> <li class="text12"> EJB Method Call Queue</li> <li class="text12"> Setting the ORB Queue Values</li> <li class="text12"> Data Source Queue</li> <li class="text12"> Prepared statements and caching</li> <li class="text12"> Configuring Data Source</li> <li class="text12"> Configuring Connection Pool Size</li> </ul> <div class="textBOLD12"> Performance Data Gathering</div> <ul style="margin-top: 0px"> <li class="text12"> Problem Determination v.s. Performance Tuning</li> <li class="text12"> What May Affect the WebSphere Performance</li> <li class="text12"> Performance Monitoring and Tuning in WebSphere</li> <li class="text12"> Performance Monitoring Infrastructure (PMI)</li> <li class="text12"> How PMI Works</li> <li class="text12"> PMI Metrics Thread Pools</li> <li class="text12"> PMI Metrics - Transaction</li> <li class="text12"> PMI Metrics - EJB</li> <li class="text12"> PMI Metrics Data Source</li> <li class="text12"> PMI Metrics Memory Usage</li> <li class="text12"> PMI Metrics HTTP Session</li> <li class="text12"> Monitoring Performance</li> <li class="text12"> JVMPI Monitoring</li> <li class="text12"> JVMPI Metrics</li> <li class="text12"> Tivoli Performance Viewer</li> <li class="text12"> Tasks</li> <li class="text12"> Enable Performance Monitoring</li> <li class="text12"> Enabling JVMPI data reporting</li> <li class="text12"> Launching Tivoli Performance Viewer</li> <li class="text12"> Select Performance Data</li> <li class="text12"> Monitor IBM HTTP Server</li> <li class="text12"> IBM HTTP Server status</li> </ul> <div class="textBOLD12"> Memory and the IBM Java Virtual Machine</div> <ul style="margin-top: 0px"> <li class="text12"> Performance Considerations</li> <li class="text12"> Performance Concerns</li> <li class="text12"> The Heap</li> <li class="text12"> Heap Limit</li> <li class="text12"> Default Initial Heap Size</li> <li class="text12"> Heap Top</li> <li class="text12"> Default Maximum Heap Size</li> <li class="text12"> Configure the heap in WebSphere</li> <li class="text12"> Allocation Failure</li> <li class="text12"> Garbage Collection</li> <li class="text12"> Enable verbose garbage collection</li> <li class="text12"> Analyzing Verbose GC - IBM</li> <li class="text12"> Analyzing Verbose GC - Sun</li> <li class="text12"> Thread Local Heap (TLH)</li> <li class="text12"> Memory Tuning Goals</li> <li class="text12"> Effect of Initial Heap Size on GC</li> <li class="text12"> Controlling the GC Timings</li> <li class="text12"> Optimizing GC</li> <li class="text12"> Heap Regions IBM JDK</li> <li class="text12"> Heap Regions Sun JDK</li> <li class="text12"> Solaris Threading Model</li> </ul> <div class="textBOLD12"> Monitoring CPU and Memory Using Rational Application Developer</div> <ul style="margin-top: 0px"> <li class="text12"> WebSphere Profiling Architecture</li> <li class="text12"> Architecture</li> <li class="text12"> Tasks</li> <li class="text12"> Install the IBM Agent Controller - Windows</li> <li class="text12"> Install the IBM Agent Controller - UNIX</li> <li class="text12"> Start the IBM Agent Controller</li> <li class="text12"> Enable profiling on the application server</li> <li class="text12"> Begin Profiling</li> <li class="text12"> Attach a monitor to a JVM</li> <li class="text12"> Class Filter Option</li> <li class="text12"> Profile Type Option</li> <li class="text12"> Start monitoring</li> <li class="text12"> Detecting Memory Leak</li> <li class="text12"> Class Statistics</li> <li class="text12"> Detecting Heavy CPU Usage</li> <li class="text12"> End to End Call Chain Analysis</li> <li class="text12"> Execution Table</li> <li class="text12"> Refresh Views</li> <li class="text12"> Save performance data</li> <li class="text12"> Stop Profiling</li> </ul> <div class="textBOLD12"> Performance Tuning Techniques</div> <ul style="margin-top: 0px"> <li class="text12"> Basic Methodology</li> <li class="text12"> Problem Areas</li> <li class="text12"> CPU utilization</li> <li class="text12"> The components of CPU usage</li> <li class="text12"> Measure CPU utilization everywhere</li> <li class="text12"> Symptoms of underutilization</li> <li class="text12"> What causes underutilization</li> <li class="text12"> Network capacity problem?</li> <li class="text12"> Synchronization problem?</li> <li class="text12"> Slow external resource?</li> <li class="text12"> Is the test pushing the system hard enough?</li> <li class="text12"> Does your system scale?</li> <li class="text12"> Symptoms of burstiness</li> <li class="text12"> Infrequent synchronization problem?</li> <li class="text12"> Test driver synchronization problem?</li> <li class="text12"> Slow back-end systems?</li> <li class="text12"> Slow garbage collection?</li> <li class="text12"> Timeout problems?</li> <li class="text12"> Erratic network traffic?</li> <li class="text12"> Symptoms of over utilization</li> <li class="text12"> High User CPU</li> <li class="text12"> High System CPU</li> <li class="text12"> High Wait CPU</li> <li class="text12"> Server hanging</li> <li class="text12"> Thread dump in WebSphere v6</li> <li class="text12"> Analyzing a Thread Dump</li> <li class="text12"> Uneven cluster loading</li> <li class="text12"> Load balancer configured correctly?</li> <li class="text12"> Plan of attack</li> <li class="text12"> Tuning the WebSphere Queuing Network</li> <li class="text12"> Tuning Static Content</li> <li class="text12"> Recall: Basic Tuning Principle</li> <li class="text12"> EJB instance cache size</li> <li class="text12"> Disable Web Application Auto Reload</li> <li class="text12"> Enable Pass By Reference</li> <li class="text12"> Relax Transaction Isolation Level</li> <li class="text12"> Optimize Access Intent</li> <li class="text12"> Cache JNDI Objects</li> <li class="text12"> Database Connection Handling</li> <li class="text12"> Prepared Statement Caching</li> <li class="text12"> Tuning the Prepared Statement Cache</li> </ul> <div class="textBOLD12"> Troubleshooting</div> <ul style="margin-top: 0px"> <li class="text12"> Problem Determination</li> <li class="text12"> Error Reporting</li> <li class="text12"> Networking Problems and Solutions</li> <li class="text12"> HTTP Request Problems</li> <li class="text12"> HTTP Request Solutions</li> <li class="text12"> Other Solutions</li> <li class="text12"> Tools for Resolving WebSphere Problems</li> <li class="text12"> Admin Console Messages</li> <li class="text12"> Configuration Problems</li> <li class="text12"> Runtime Messages</li> <li class="text12"> Message Details</li> <li class="text12"> Important Log Files</li> <li class="text12"> Configuring Log Files</li> <li class="text12"> Viewing Logs</li> <li class="text12"> Event Types</li> <li class="text12"> Log Detail Levels</li> <li class="text12"> Log File Format</li> <li class="text12"> Configuring Tracing</li> <li class="text12"> Reading Java Exceptions</li> <li class="text12"> Common Exceptions</li> <li class="text12"> Server Does Not Start</li> <li class="text12"> AST</li> <li class="text12"> Log View of AST</li> <li class="text12"> dumpNameSpace Tool</li> <li class="text12"> Debugging</li> <li class="text12"> IBM Tools</li> <li class="text12"> Troubleshooting Questions</li> <li class="text12"> Troubleshooting Answers</li> <li class="text12"> Reference</li> </ul> <div class="textBOLD12"> Network Deployment Architecture</div> <ul style="margin-top: 0px"> <li class="text12"> Workload Management (WLM) Basics</li> <li class="text12"> Role of Network Deployment Software</li> <li class="text12"> Similarities With Base Edition</li> <li class="text12"> Differences With Base Edition</li> <li class="text12"> Coexistence With Base Edition</li> <li class="text12"> Network Deployment Cell</li> <li class="text12"> Deployment Manager and Node Agents</li> <li class="text12"> Configuration File Synchronization</li> <li class="text12"> Synchronization Problems</li> <li class="text12"> WebSphere Profiles - Recap</li> <li class="text12"> Network Deployment Profiles</li> <li class="text12"> Federating Nodes</li> <li class="text12"> Federating an Application Server Profile</li> <li class="text12"> Federating a Custom Profile</li> <li class="text12"> Adding Nodes</li> <li class="text12"> Controlling Deployment Manager and Node Agents</li> <li class="text12"> Automatically Starting Servers</li> <li class="text12"> Types of WLM</li> <li class="text12"> Web Server WLM</li> <li class="text12"> Web Module WLM Architecture</li> <li class="text12"> Weighted Routing</li> <li class="text12"> State Management</li> <li class="text12"> Server Affinity</li> <li class="text12"> Weighted Routing with Server Affinity</li> <li class="text12"> EJB WLM</li> <li class="text12"> References</li> </ul> <div class="textBOLD12"> WebSphere High Availability Overview</div> <ul style="margin-top: 0px"> <li class="text12"> Workload Management and Failover in WebSphere</li> <li class="text12"> Server Affinity</li> <li class="text12"> Problems With Server Affinity</li> <li class="text12"> Server Affinity With Failover</li> <li class="text12"> Data Replication Service</li> <li class="text12"> Number of Replicas</li> <li class="text12"> Replication Security</li> <li class="text12"> Enabling Server Affinity Failover</li> <li class="text12"> Session Database</li> <li class="text12"> Session Tuning</li> <li class="text12"> Distributed Session Tuning</li> <li class="text12"> Introduction - HAManager</li> <li class="text12"> HAManager</li> <li class="text12"> HAManager Messaging Service</li> <li class="text12"> HAManager - Functioning</li> <li class="text12"> Core Group</li> <li class="text12"> Core Group Coordinator</li> </ul> <div class="textBOLD12"> Dynamic Caching for Web Applications</div> <ul style="margin-top: 0px"> <li class="text12"> Configuring Dynamic Cache</li> <li class="text12"> How Caching Works</li> <li class="text12"> Structure of cachespec.xml</li> <li class="text12"> URL Based Caching</li> <li class="text12"> Session Based Cache</li> <li class="text12"> Cache Priority</li> <li class="text12"> Configuring Cache Manager</li> <li class="text12"> Configuring Cache Manager</li> <li class="text12"> Configuring ESI Cache</li> </ul> <div class="textBOLD12"> IBM Heap Dump Facility</div> <ul style="margin-top: 0px"> <li class="text12"> What is a Heap Dump</li> <li class="text12"> Enabling heapdumps on WAS V6.0</li> <li class="text12"> Causing Heapdumps</li> <li class="text12"> Understanding Heapdumps</li> <li class="text12"> Understanding Heapdump file</li> <li class="text12"> Using HeapDiff</li> <li class="text12"> Using HeapDiff to Detect Memory Leak</li> </ul> <div class="textBOLD12"> Performance Advisors Overview</div> <ul style="margin-top: 0px"> <li class="text12"> Performance Advisors</li> <li class="text12"> Performance Advisors in Tivoli Performance Viewer (TPV)</li> <li class="text12"> Performance & Diagnostic Advisor</li> <li class="text12"> Enabling and Configuring Performance & Diagnostic Advisor</li> <li class="text12"> Performance & Diagnostic Advisor</li> <li class="text12"> Reference</li> </ul> <div class="textBOLD12"> IBM Support Tools</div> <ul style="margin-top: 0px"> <li class="text12"> Source of Errors</li> <li class="text12"> Support Tools</li> <li class="text12"> IBM Support Tools</li> <li class="text12"> IBM Support Assistant (ISA)</li> <li class="text12"> IBM Electronic Services</li> </ul> <div class="textBOLD12"> Appendix A. AIX Monitoring Tools and Tuning</div> <ul style="margin-top: 0px"> <li class="text12"> topas</li> <li class="text12"> Advanced topas Use</li> <li class="text12"> svmon</li> <li class="text12"> Generating svmon Reports</li> <li class="text12"> The monitor Tool</li> <li class="text12"> Network Buffer Tuning</li> <li class="text12"> Network Dropped Packets Resolution</li> <li class="text12"> Network Statistics Report</li> <li class="text12"> TCP/UDP Buffer Tuning</li> <li class="text12"> System Activity Report</li> <li class="text12"> Disk I/O Report</li> <li class="text12"> Reduce IO Bottleneck</li> <li class="text12"> Using filemon</li> <li class="text12"> Using vmstat</li> <li class="text12"> Tuning VMM Policy</li> </ul> <div class="textBOLD12"> Appendix B. Solaris Monitoring and Tuning</div> <ul style="margin-top: 0px"> <li class="text12"> The vmstat Command</li> <li class="text12"> The mpstat Command</li> <li class="text12"> The iostat Command</li> <li class="text12"> The netstat Command</li> <li class="text12"> Increasing the Connection Backlog</li> <li class="text12"> Minimize Packet Fragmentation</li> <li class="text12"> Reduce Socket Overhead</li> <li class="text12"> Recover from Browser Disconnects</li> <li class="text12"> Kernel Tuning</li> <li class="text12"> Minimize Page Scanning</li> </ul> <div class="textBOLD12"> Appendix C. Linux Monitoring and Tuning</div> <ul style="margin-top: 0px"> <li class="text12"> Monitoring Tools</li> <li class="text12"> The uptime Command</li> <li class="text12"> The top Command</li> <li class="text12"> The iostat Command</li> <li class="text12"> The vmstat Command</li> <li class="text12"> The pmap Command</li> <li class="text12"> Kernel Parameter Tuning</li> <li class="text12"> Increase Maximum File Descriptor Limit</li> <li class="text12"> Network Tuning</li> <li class="text12"> Linux Tuning Tips</li> </ul> <div class="textBOLD12"> Appendix D. Sun Java System Web Server 6.0 Tuning</div> <ul style="margin-top: 0px"> <li class="text12"> Sun Java System Web Server v6.0 - Basic Concepts</li> <li class="text12"> Monitoring Using stats-xml</li> <li class="text12"> Monitoring Using perfdump</li> <li class="text12"> Connection Tuning</li> <li class="text12"> Socket Listen Tuning</li> <li class="text12"> Session Thread Tuning</li> <li class="text12"> Keep Alive Tuning</li> <li class="text12"> Static File Cache Tuning</li> <li class="text12"> DNS Lookup Tuning</li> </ul> <div class="textBOLD12"> Appendix E. DB2 Performance Tuning Techniques</div> <ul style="margin-top: 0px"> <li class="text12"> Logs</li> <li class="text12"> Separate DB2 log files from the physical database</li> <li class="text12"> Configuration Advisor</li> <li class="text12"> Launch Configuration Advisor</li> <li class="text12"> DB2/Linux communication</li> <li class="text12"> MaxAppls</li> <li class="text12"> MaxAgents</li> <li class="text12"> Buffer Pool Tuning</li> <li class="text12"> Configuring buffpage</li> <li class="text12"> Evaluating the buffer pool size</li> <li class="text12"> Monitoring the database buffer pool</li> <li class="text12"> Query optimization level</li> <li class="text12"> Configuring query optimization level</li> <li class="text12"> Prepared Statement Caching by DB2</li> <li class="text12"> reorgchk</li> <li class="text12"> MinCommit</li> <li class="text12"> Determining the need to change MinCommit</li> <li class="text12"> Guidelines</li> <li class="text12"> Session Affinity</li> <li class="text12"> Session Cache</li> <li class="text12"> Configuring Session Management</li> <li class="text12"> Configuring the Session Database</li> <li class="text12"> Tuning Session Database I/O</li> <li class="text12"> Calculating Average Session Size</li> <li class="text12"> Tuning Session Database I/O DB2 Specific Notes</li> </ul>

Free Resources from Intertech

Complete Guide to Becoming a Full Stack Developer

Free Book Chapter: Spring Web

Free Whitepaper: Top 10 Nasty Java Bugs (And How to Fix Them)