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.
01Lesson 1What Performance Testing measures+
Theory and practice
ArticleWhat Performance Testing measures
02Lesson 2Workload models+
Theory and practice
ArticleWorkload models
03Lesson 3Your first k6 test+
Theory and practice
ArticleYour first k6 test
Knowledge checkCheck your understanding
04Lesson 4Experiment types and recovery+
Theory and practice
ArticleExperiment types and recovery
05Lesson 5Diagnosis and hypothesis testing+
Theory and practice
ArticleDiagnosis and hypothesis testing
06Lesson 6Comparison and the capstone+
Theory and practice
ArticleComparison and the capstone
Knowledge checkCheck your understanding
07Lesson 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
08Lesson 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
09Lesson 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
10Lesson 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
11Lesson 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
12Lesson 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
13Lesson 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
14Lesson 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
15Lesson 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
16Lesson 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
17Lesson 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
18Lesson 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
19Lesson 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
20Lesson 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