Application and Database Performance and Tuning |
|
|
|
Public Training Course - Taught Live OnLine
Training Description
This online Application and Database Performance and Tuning technical training course teaches the art of Performance tuning and the science of improving the performance of a computing application in response to current or anticipated performance problems. Students will learn how to establish baselines for performance tuning, compare current quantifiable values against those baselines, and develop a methodology for tuning the system's performance to reduce / eliminate bottlenecks and achieve performance goals. Students will also learn how to use techniques such as analyzing the performance of a system, optimizing and caching elements of a system, and performing load balancing and distribution to tune the performance of the system, as well as learning how to use performance engineering techniques to capture stakeholder input and reflect the voice of the customer in their performance tuning methodology.
Training Objectives
- Identify "bottlenecks" in a software application
- Determine what causes sub-optimal performance in a software application
- Establish appropriate performance metrics for a software application
- Develop incremental testing methodology for adjusting performance of a software application
- Compare performance before and after adjustments
Prerequisites
- Developers should have six months to a year of experience working on a software development project.
- Managers should have six months to a year of managing a software development project.
Training Outline
Introduction and Overview
- Performance Tuning Methodology
- Why Tune a System?
- Performance Tuning Techniques
Performance Analysis
- Gathering Program Information
- Classifying Program Information
- Optimizing Program Information
Performance Engineering
- Establishing Non-Functional Requirements
- Identifying Business Processes
- Use Cases
- System Deployment
- Service Management
Code Optimization
- Better Strategies
- Better Coding
- Better Compilers
Caching Strategies
- Caching and Performance Bottlenecks
- What Data Should Be Cached?
- What are the Trade-Offs?
Load Balancing
- Determining Overall System Load
- Algorithms for Effective Load Balancing
- Automatic Load Balancing vs. Manual Load Balancing
Distributed Computing
- Parallelizing Multiple Tasks
- Distribution Across Processes
- Distribution Across CPUs
- Distribution Across Machines
- Managing Synchronization among Concurrent Tasks
Self-Tuning
- Collection of Internal Data
- Optimization of Internal Parameters
- Self-Tuning and Non-Linear Processes
Bottlenecks
- Identification of a Bottleneck
- Rationale Behind a Bottleneck
- Steps to Take to Relieve a Bottleneck
Review and Summary
|