How to Do Load Testing with k6

Virtual users, load profiles, thresholds - the k6 setup that validates your system before real traffic hits it.

Most applications are not load tested before they receive real traffic. The result is discovered during a product launch, a press mention, or a Black Friday sale. Load testing with k6 is fast enough to run in CI and provides the data to answer the question every engineering team needs to answer before launch: how many users can this handle?

No fluff. Real test coverage from QA engineers who find bugs before your users do.

The Load Test Types and When to Use Each

Smoke test: 1-5 VU for 1 minute. Validates that the test script works and the application responds. Run before every more expensive test. Load test: expected peak load for 10-30 minutes. Validates the system handles normal traffic. Run weekly or before releases. Stress test: ramp to 200-300% of expected peak. Finds the breaking point. Run monthly or before major launches. Soak test: steady load for 4-8 hours. Finds memory leaks and performance degradation over time. Run quarterly.

At Valletta Software, we focus on:

VU profile: smoke (1-5) load (expected peak) stress (2-3x peak) soak (steady 4-8h) - use each appropriately

k6 script: import http from k6/http - define scenarios thresholds and groups

Thresholds: http_req_duration p95 < 200ms error_rate < 1% - fail the test if violated

Scenarios: ramping-vus (ramp up hold ramp down) constant-arrival-rate (constant RPS) - match real traffic

Correlation: extract dynamic values (session tokens) from responses - not hardcoded

Think time: add sleep(1) between requests - real users are not bots making 100 RPS per VU

Output: k6 cloud or Grafana for visualization - not just terminal output

The Monitoring Setup During Load Tests

A load test without monitoring tells you the application broke. Monitoring tells you why.

We give you more than just people. We give you top performers who drive results.

Prometheus metrics: CPU memory DB connections request queue depth - scrape during load test
Grafana dashboard: latency percentiles error rate saturation - watch in real time during test
DB query time: slow query log enabled during test - load reveals query problems unit tests miss
Error log: tail application logs during test - first error message explains the cascade
APM: Datadog New Relic or Elastic APM - trace which endpoint is the bottleneck
Connection pool: monitor DB and Redis connection pool exhaustion - common scaling limit
Baseline comparison: compare metrics to pre-test baseline - not just absolute values

Generate test cases from specs and user stories automatically

Run visual regression across hundreds of screens in minutes

Build CI test gates that catch regressions before merge

Analyze test results and prioritize fixes by business impact

How to Do Load Testing with k6 - With QA Engineers Who Test Before Launch Not After

Lets keep it simple.

Our QA engineers use AI to write test cases from specs, generate edge-case scenarios automatically, and run visual regression checks across hundreds of screens in minutes - so they spend time on the bugs that matter, not the obvious ones.

Lets keep it simple.

Lets keep it simple.

Our QA engineers run k6 load tests as part of the release process: smoke tests on every deploy, load tests weekly, stress tests before major launches

Shipping Without QA is Gambling. Lets Fix That.

Our QA engineers have caught the bugs that would have cost you clients. Lets talk.

Rates from EUR 45/h • Free consultation • No commitment required • Response within 24 hours