PERFORMANCE ENGINEERING TRAINING COURSE MODULES


Section1: PERFORMANCE TESTING CONCEPTS

  • Performance Engineering -Introduction
  • Common Performance issues
  • Performance Mind map
  • Production traffic Analysis
  • Roles and Responsibilities of Performance Engineer
  • Performance Engineering Life Cycle

Section2: PERFORMANCE MONITORING – WINDOWS/UNIX SYSTEMS

2.1 On Windows Servers

  • Detailed explanation about Windows system monitoring using Perfmon Counters
  • Perfmon – Configuring the counters with different aspects
  • Real time monitoring on Windows System
  • How to detect the CPU, Memory and Network performance issues from Perfmon

2.2 On Linux Servers

  • Detailed explanation about Linux System monitoring tools
  • Detailed understanding about Linux monitoring tools like Vmstat, iostat, top, free, netstat, etc.
  • Real time performance monitoring
  • How to detect the CPU, Memory and Network performance issues from Vmstat,Top,iostat,netstat,etc..

Section 3 : JAVA PERFORMANCE ENGINEERING – BASIC LEVEL

  • Different types of JVM
  • Detailed explanation about JVM Architecture Internals
  • Detailed explanation about JVM Heap Structure
  • Understanding the different types of Garbage collections techniques
  • Understanding the JVM thread pooling concepts
  • Detailed about JDBC connection pooling

Section 4: JVM PERFORMANCE TUNING – ADVANCED LEVEL

4.1 JVM Performance Monitoring

  • Detailed understanding about JVM performance monitoring
  • How to Monitor Java Application using Open source tools(JConsole,JvisualVM)
  • How to monitor the Java application using commercial tools (Yourkit)

4.2 JVM Thread Thump Analysis

  • Basics of Thread dumps
  • How to collect the Java Thread dumps
  • Techniques to analyze Thread dumps
  • How to identify Performance patterns using Thread dumps
  • Java Thread dump Tools
  • Hands- On Training

4.3 JVM Garbage collection Analysis

  • Collecting the GC logs
  • Real-time GC monitoring
  • How to analyze the GC logs
  • How to detect memory leak related issues using GC logs

4.4 JVM OutofMemory Error Analysis

  • Understanding the Application performance issues due to memory constraints
  • Basics of Memory Leak
  • Different between Memory leak and OutofMemory issues
  • Basics of OutofMemory issues
  • Different patterns of JVM OutofMemory issues
  • How to identify the Memory Leak and OutofMemory issues
  • How to Collect heap dumps from JVM
  • How to analyze the Heap dumps using Eclipse MAT& JvisualVM

SECTION 5 : REAL TIME APPLICATION PERFORMANCE ISSUES & PATTERNS

  • How to troubleshoot various Performance issues Patterns
  • High CPU due to code spinning
  • CPU Scalability due to blocked conditions
  • High Response time related issues
  • High Network retransmission latency
  • Memory leak & OutofMemory issues

SECTION 6 : PERFORMANCE PROFILING TOOLS

  • JProfiler
  • Yourkit
  • JvisualVM
  • Dynatrace APM & Ruxit

SECTION 7 : PERFORMANCE BEST PRACTICES

  • How to apply various techniques to fine-tune the Java applications
  • Techniques to Optimize the JVM performance

SECTION 8: .NET PERFORMANCE ENGINEERING

  • Real Time .Net Performance problems
  • .Net Performance Metrics
  • .Net Performance Measurement
  • .Net Memory Management
  • Understanding the different Garbage Collection modes
  • Analyzing Pause times in the .NET GC
  • Locking and Synchronization
  • Unnecessary logging
  • Major database issues
  • Techniques to Fine-tuning the IIS App-pool
  • Optimizing Performance Asp.Net Web applications

SECTION 9 :DATABASE PERFORMANCE MOINTORING

  • Oracle Database monitoring
  • Understanding the AWR,ASH,ADDM Reports and locating Database performance issues

SECTION 10 :CLIENT SIDE PERFORMANCE TUNING

  • Importance of Front end performance
  • Common Performance problems at front end
  • How Browser Rendering works
  • Critical Performance metrics at front end
  • Client side performance tools
    – Chrome Dev tools
    – Dynatrace Ajax
    – GTMetrix
  • How to optimize the Critical Rendering path
    – Put Stylesheet on Top
    – Put Javascripts down.
    – Reduce DNS lookup
    – Inline the JS and CSS (if its small in size)
    – Remove Duplicate Scripts
    – Make CSS & JS external
    – Prioritize the visible content( consider DEFER )
    – Served Scaled images
  • Optimizing the Content Efficiency
    – Minify the CSS & JS
    – Gzip Compression
    – Image compression
    – Browser level caching
    – Avoid Redirects
    – Use a content Delivery