1. Preparing #
A test without an objective proves nothing.
Before running #
- Define the objective (SLO, target throughput, peak date) and the type of test.
- Model real traffic: journey mix, think times, varied data.
- Test a representative (size, data, configuration) and isolated environment.
- Warn the teams and providers (CDN, third-party APIs, WAF).
2. Running and observing #
Measuring on both sides.
During the test #
- Start with a smoke test, then ramp up gradually.
- Monitor the test machine (CPU, network) and
dropped_iterations. - Export k6 metrics with a
testidand display them next to those of the system under test. - Note events (scaling, restarts) during the test.
3. Automating #
Performance as a test like any other.
Continuously #
- Thresholds aligned with SLOs, blocking in CI.
- Smoke on every pull request, load every night.
- Scripts versioned and reviewed with the code.
- Result history to detect slow regressions.
Common mistake: Never compare two tests run on different environments: environment variation often exceeds the effect of the change being tested.
Reference diagram and quick check #
Checklist.
Checklist #
- Quantified objective and test type chosen
- Realistic scenarios and varied data
- Thresholds aligned with SLOs
- k6 and system-under-test metrics on the same dashboard
- Test automated in CI
- Report with conclusions and actions
My progress
Sign in to track your progress and take notes. Sign in
💬 Questions about this lesson
No questions yet: be the first to ask for help or share your configuration.
Recommended Articles
Load testing with Grafana k6: why, and which types of tests
Why test performance before production, the types of tests (smoke, load, stress, spike, soak, bre...
Thresholds, metrics and results of a k6 test
Read the summary of a k6 test, understand the built-in metrics (http_req_duration, http_req_faile...
Observing a k6 test: Prometheus, Grafana and correlation with the system under test
Send k6 results to Prometheus (remote write) or via OpenTelemetry, visualize them in Grafana and ...
Website monitoring: availability, HTTPS monitoring, certificates and performance
Set up website monitoring: availability and HTTPS checks, certificate expiry, response time, Core...
Browser testing and synthetic monitoring with k6
Test a web application in a real browser with the k6 browser module, measure Core Web Vitals, and...
k6 in continuous integration and on Kubernetes (k6-operator)
Automate performance tests: k6 in GitHub Actions and GitLab CI with blocking thresholds, distribu...
Writing k6 scripts: requests, checks, scenarios and executors
The structure of a k6 script (init, setup, default, teardown), HTTP requests, checks, groups and ...
Real User Monitoring (RUM) and Core Web Vitals: measuring what users experience
Why observe the front end, what RUM measures, Core Web Vitals (LCP, INP, CLS) and their threshold...
Writing good Prometheus alerting rules (and testing them)
Design useful alerts: alert on symptoms, choose for and thresholds, severity and team labels, ann...