Skip to main content
QA

Glory to Ukraine!

Back to all courses

Practical QA course

Performance Engineering: JMeter, k6 and System Diagnosis

From measurement fundamentals to an independent performance investigation: JMeter and k6, JVM and garbage collection, CPU, databases, pools and queues, Prometheus, Grafana, logs, tracing and profiling. Beginner explanations, diagrams, local laboratories, quizzes and an evidence-based capstone.

20 learning sessionsFull course · free

Course overview

What you will work on

From measurement fundamentals to an independent performance investigation: JMeter and k6, JVM and garbage collection, CPU, databases, pools and queues, Prometheus, Grafana, logs, tracing and profiling. Beginner explanations, diagrams, local laboratories, quizzes and an evidence-based capstone.

Course curriculum

Explore the full learning path.

Explore lesson and topic titles here. Register and sign in to read the materials and take the knowledge checks for free.

Lesson 1What Performance Testing measures

Theory and practice

  • ArticleWhat Performance Testing measures
Lesson 2Workload models

Theory and practice

  • ArticleWorkload models
Lesson 3Your first k6 test

Theory and practice

  • ArticleYour first k6 test
  • Knowledge checkCheck your understanding
Lesson 4Experiment types and recovery

Theory and practice

  • ArticleExperiment types and recovery
Lesson 5Diagnosis and hypothesis testing

Theory and practice

  • ArticleDiagnosis and hypothesis testing
Lesson 6Comparison and the capstone

Theory and practice

  • ArticleComparison and the capstone
  • Knowledge checkCheck your understanding
Lesson 7JMeter: from the first launch to a correct journey

Theory and practice

  • ArticleJMeter without mystery: installation and test anatomy
  • ArticleHTTP in JMeter: address, body, headers and timing
  • ArticleThreads, ramp-up and loops: what work are we scheduling?
  • ArticleDebugging a business journey: login to an order retry
  • Knowledge checkApplied checkpoint: test your conclusions
Lesson 8JMeter: data, correlation, assertions and user pacing

Theory and practice

  • ArticleCSV and data ownership: independent users
  • ArticleCorrelation: tokens, cookies and dependent requests
  • ArticleAssertions and Groovy: verify meaning without unnecessary cost
  • ArticleThink time, pacing and timers: defining behavior
  • Knowledge checkApplied checkpoint: test your conclusions
Lesson 9JMeter: CLI, results and generator reliability

Theory and practice

  • ArticleFrom GUI to CLI: reproducible runs and JTL
  • ArticleReading a JMeter report: from tables to a defensible conclusion
  • ArticleWhen the load generator is the bottleneck
  • ArticleDistributed JMeter: what multiplies and what must be partitioned
  • Knowledge checkApplied checkpoint: test your conclusions
Lesson 10k6: scenario code, lifecycle and criteria

Theory and practice

  • Articlek6 as a program: init, setup, VU and teardown
  • ArticleAn HTTP journey in k6: correlation and business validation
  • ArticleSharedArray, VU and iteration: who owns the data?
  • ArticleChecks, custom metrics and thresholds: when a test actually fails
  • Knowledge checkApplied checkpoint: test your conclusions
Lesson 11k6: workload models, VU capacity and the browser

Theory and practice

  • ArticleExecutors: choose a model for the experiment question
  • ArticleDropped iterations: why a fast test can miss its objective
  • ArticleTags, groups and per-operation criteria
  • ArticleBrowser k6 and CI: different levels of evidence
  • Knowledge checkApplied checkpoint: test your conclusions
Lesson 12How the system works: requests, CPU, networking and containers

Theory and practice

  • ArticleThe request path and latency budget
  • ArticleProcesses, threads, CPU and event loops without confusion
  • ArticleNetworking: DNS, TCP, TLS, KeepAlive and measurement boundaries
  • ArticleOS and container resources: quotas, RSS, disk and queues
  • Knowledge checkApplied checkpoint: test your conclusions
Lesson 13JVM and garbage collection: memory, mechanisms and tradeoffs

Theory and practice

  • ArticleWhat is a garbage collector? Objects, references and live memory
  • ArticleHow GC finds and reclaims memory: generations, pauses and barriers
  • ArticleG1, Serial, Parallel and ZGC: choosing an experiment
  • ArticleTuning heap, CPU and pauses: change a cause, not a flag collection
  • Knowledge checkApplied checkpoint: test your conclusions
Lesson 14Memory diagnosis: GC logs, JFR, leaks and other runtimes

Theory and practice

  • ArticleReading GC logs and post-collection trends
  • Articlejcmd, JFR and thread dumps: match the tool to the question
  • ArticleRetention and leaks: establishing that data lives too long
  • ArticleGC in Node.js and Python: what transfers and what does not
  • Knowledge checkApplied checkpoint: test your conclusions
Lesson 15Prometheus and Grafana: from measurement to a readable dashboard

Theory and practice

  • ArticleObservability architecture: metrics, logs, traces and profiles
  • ArticleCounters, gauges and histograms: modeling a metric correctly
  • ArticlePromQL: rates, aggregation, p95 and the correct denominator
  • ArticleGrafana: a dashboard that supports investigation
  • Knowledge checkApplied checkpoint: test your conclusions
Lesson 16Logs, traces, profiles and telemetry reliability

Theory and practice

  • ArticleStructured logs, Loki and LogQL
  • ArticleOpenTelemetry and Tempo: reading a trace beyond a long bar
  • ArticleProfiles and cross-signal analysis: testing an explanation
  • ArticleTelemetry gaps, alerts and observability cost
  • Knowledge checkApplied checkpoint: test your conclusions
Lesson 17Bottleneck diagnosis: from symptoms to mechanism

Theory and practice

  • ArticleCPU and locks: why threads stop making progress
  • ArticleSQL: plans, indexes, statistics and locks
  • ArticleConnection pools, queues and backpressure
  • ArticleCaches, I/O and dependencies: bottlenecks beyond CPU
  • Knowledge checkApplied checkpoint: test your conclusions
Lesson 18Overload, capacity and recovery

Theory and practice

  • ArticleLoad, stress, spike, endurance and data volume
  • ArticleTimeouts, deadlines, retries and idempotency
  • ArticleCapacity, scaling and resource headroom
  • ArticleRecovery, degradation and experiment boundaries
  • Knowledge checkApplied checkpoint: test your conclusions
Lesson 19Statistics, SLOs and evidence-based decisions

Theory and practice

  • ArticlePercentiles, histograms and sample adequacy
  • ArticleWarm-up, repeatability and fair A–B comparison
  • ArticleSLIs, SLOs, error budgets and release criteria
  • ArticleExperiment reports and CI checks
  • Knowledge checkApplied checkpoint: test your conclusions
Lesson 20Capstone: an independent performance investigation

Theory and practice

  • ArticleDesigning the capstone investigation
  • ArticleInvestigating an initially unknown slowdown
  • ArticleA change, repeated comparison and recovery verification
  • ArticleTechnical defense, portfolio and competence criteria
  • Knowledge checkApplied checkpoint: test your conclusions