PERFORMANCE ENGINEERING

  1. Fundamentals
    • What is Performance Testing?
    • What is Performance Engineering?
    • Types of Performance Testing
      • Load Testing
      • Stress Testing
      • Spike Testing
      • Scalability Testing
      • Soak/Endurance Testing
      • Volume/Flood Testing
    • Performance Testing Life Cycle
    • Performance Testing Planning
    • Performance Testing Strategy
    • Entry and Exit criteria of Performance Testing
    • Benchmark Testing vs Baseline Testing
    • Factors affecting Performance Testing
    • Common Performance Problems
  2. List of Tools
    • Server-Side
      • Apache JMeter
      • Gatling
      • Load Runner
      • k6
      • Locust
      • Blazemeter
      • Neo Load
      • HP Jmeter
      • FunkLoad
    • Client-Side
      • Google Page Speed
      • Google Light House
      • YSlow
    • APM
      • New Relic
      • App Dynamics
      • DynaTrace
      • Java Melody
      • Glowroot
    • Profiling
      • IBM Nmon
      • Jconsole
      • Visual VM
      • Jprofiler
      • Eclipse Memory Analyzer (MAT)
      • Oracle StatsPack
      • Memory Analyzer
      • yCrash
      • Database
        • Mongo Live
        • pgFouine
    • Proxy
      • BrowserMob
      • Fiddler
  3. Performance Testing Strategy
    • Web Applications
      • Server-Side Performance
      • Client-Side Performance
    • Mobile Applications
      • Client-Side/Device Performance
      • Server-Side/API Performance
      • Network Performance
  4. Performance Testing Metrics
    • Response Time
      • Absolute Response Time
      • Perceived Response Time
      • Server Processing Time
      • Page Rendering Time
      • Network Time / Latency
      • Elapsed Time
    • Percentile
      • 90th Percentile Response Time
      • 99th Percentile Response Time
    • Standard Deviation
      • Throughput
      • Bandwidth
      • Think Time
      • Pacing
      • Workload Modelling
      • Little’s law
      • Simultaneous Users Vs Concurrent Users
      • Physical CPU vs Logical CPU
      • Memory Management / Allocation
        • Stack Memory
        • Heap Memory
          • Young Generation / Minor GC
          • Old Generation / Major GC
          • Heap vs Non-Heap vs Code Cache
        • PermGen (Permanent Generation) (till Java7)
        • Metaspace
      • Garbage Collector
        • Serial Garbage Collector
        • Parallel Garbage Collector
        • CMS Garbage Collector
        • G1 Garbage Collector
        • Epsilon Garbage Collector
        • Z garbage collector
        • Shenandoah Garbage Collector
      • Garbage Collector (GC) Log
      • Heap Dump
      • Thread Dump
        • Deadlock
        • Blocked Thread
      • StackOverflow Error
      • CPU Interruption
      • Processor Usage
      • Memory Usage
      • Memory Pages
      • Disk I/O
      • Connection Pool
      • Database Locks
      • Outliers
    • Performance Test Report
      • What to include in the Performance Test Report?
      • Transaction Related
        • Average response time
        • Transaction failure rate
        • Minimum response time
        • Maximum response time
        • Standard deviation of response time
        • 90% response time
      • Server Side Related
        • Processor / CPU
        • Memory
        • Network
          • TCP Connections established
          • TCP Connections reset
          • TCP connections failures
          • TCP segments per second
        • Hits per sec
        • Number of concurrent users
        • Transactions per sec
        • Error per sec
        • Average throughput graphs
        • Total hits graphs
      • Client-Side Related
        • TTFB (Time To First Byte)
        • Time to Render
        • Time to Interact
        • Payload
        • Speed Index
        • Load Time
        • CPU Idle Time
      • Client-Side Related (Mobile App)
        • Application Response Time
        • Screen Rendering
        • App Crashes
        • Battery Usage
        • Memory Consumption
        • App in Background
        • Hardware/Software Variation
        • Usage with Other Apps
        • App Load Time
        • App Load per Period
    • Client Side Optimization/Tuning
      • Content Delivery Network
      • Asynchronous JavaScript
      • Minification & Bundling
      • Image Optimization & Compression
      • Browser Caching
      • HTTP 2 Protocol
    • Database Performance Tuning Techniques
      • Query Optimization
      • Data Defragmentation
      • Index Tuning
      • Upgrading Database Versions
      • Evaluating connection capacity
    • Chaos Engineering
      • Overview