Run the soak test and correlate results

This path uses a 30-minute plateau so you can practice the workflow in one sitting. Production soaks often run for hours; the same monitoring habits apply on a shorter timeline.

Track when metrics first drift and how fast they change. That timing matters more than a single end-of-run pass or fail.

To run the soak test and correlate results, complete the following steps:

  1. Start the soak test with cloud streaming enabled:

    Bash
    k6 cloud run --local-execution soak.js

    The --local-execution flag runs the test on your machine while streaming results to Grafana Cloud k6 for storage and visualization, as described in Use the CLI. k6 prints a URL to the live test result in Grafana Cloud k6.

  2. Open the Grafana Cloud k6 results URL from the terminal output.

    After the 3-minute warm-up from delayAbortEval, confirm that metrics are stable through roughly the 10-minute mark. Use that window as your comparison baseline for this learning run.

  3. Monitor the live dashboard periodically throughout the test.

    Record the elapsed time when you first observe any of these signals:

    • p95 latency rising: If the p95 was 200 ms at the 10-minute mark and has climbed to 350 ms by the 25-minute mark, that is a 75% increase. An upward trend matters even when p95 stays below the 500 ms threshold.
    • Error rate appearing: Errors absent through the first 15 minutes but present near the 25-minute mark may indicate resource exhaustion. Note the exact time and error type (timeouts, connection resets, HTTP 5xx).
    • Throughput declining: If RPS was 12 at the start and has dropped to 8 with no change in VU count, each request is taking longer to complete.
  4. When the test completes (or aborts due to a threshold breach), record the time of first degradation.

    This is the elapsed time from test start to the first sustained change in metrics.

    If the test ran for the full duration with no degradation, record “no degradation observed within [duration].” That is a valid result for this load level and duration.

  5. Correlate k6 results with infrastructure metrics in Grafana.

    Open your Grafana dashboards and align the time window with the soak test duration. Look for:

    k6 signalInfrastructure metric to checkWhat it suggests
    Rising p95 latencyApplication memory usage, GC pause timesMemory leak or GC pressure
    Increasing error rateDatabase connection pool utilizationConnection pool exhaustion
    Declining throughputCPU utilization, disk I/O waitResource saturation
    Sudden spike after steady periodDisk space usage, log file sizesDisk fill from logs or temp files
    Timeout errorsOpen file descriptor countFile handle leak

    k6 metrics show when response behavior changed. Infrastructure metrics help narrow the cause. Rising p95 at the same time memory crosses 80% points to a memory-related issue on the system under test. If you don’t have infrastructure dashboards set up, you can still record when degradation started from Grafana Cloud k6 alone. Setting up monitoring with Grafana Alloy or Prometheus adds the backend view the soak test-type guide recommends. Refer to the Linux server integration learning path or the Grafana Alloy documentation.

In the next milestone, you document your soak test results in a structured format and categorize the degradation type you observed.

Were you successful?


page 5 of 8