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