Skip to content

Composite VarioTest scenarios

Problem: Production traffic is a mix of request patterns: browser users browsing a catalogue, API clients submitting orders, and background jobs polling status endpoints. If you test each scenario alone, you miss how they interact (shared DB connections, cache contention, thread pool competition). A VarioTest puts several scenarios into one run, each with its own VU count and ramp profile.

Test type: Load test with a composite workload.

  • Two or more MaxoPerf tests already created and individually validated (each should pass a smoke test on its own first).
  • A MaxoPerf plan that supports VarioTest (composite runs).

A VarioTest is a parent run that spawns child runs for each constituent scenario simultaneously. Each child run tracks its own metrics, VU count, and ramp profile. The parent run’s overview aggregates throughput and latency across all children, and you can drill into each child independently.

  1. In the MaxoPerf console, go to Tests and click New VarioTest.
  2. Give the composite test a name, for example E-commerce — mixed workload.
  3. In the Scenarios panel, click Add scenario and select the first constituent test (e.g. Catalogue browse).
  4. Set the VU weight for this scenario, for example 60 % of total VUs.
  5. Click Add scenario again and select the second test (e.g. Checkout — CRUD), setting 30 %.
  6. Add a third scenario if needed (e.g. Order status polling — background), assigning 10 %.
  7. Set the total VU count for the composite run. Each scenario receives VUs proportional to its weight.
  8. Save.
  1. In the VarioTest Configuration tab, confirm locations and total duration.
  2. Click Run now.
  3. A parent run appears in the Runs list with child run links for each scenario.
  1. Open the parent run. The overview tab shows aggregate throughput and latency across all scenarios.
  2. Use the Scenario filter (similar to the Locations filter) to isolate one scenario’s metrics.
  3. Click a child run link to open the full run detail for one scenario. The standard Overview, Log, and Runners tabs are all there.
  • All child runs complete with status Finished, or Failed if you set failure criteria (see Failure criteria pass/fail gates).
  • The VU distribution matches the configured weights.
  • Aggregate p95 latency in the parent run is close to the weighted average of the child p95 values. A large gap means one scenario dominates.
  • The child run links open each scenario’s own metrics.
  • Phased composition: ramp up scenario A first, then add scenario B mid-run with the live controls. This simulates a peak-hour surge on top of a background baseline.
  • Different engines per scenario: VarioTest can mix engines, for example one Taurus scenario and one k6 scenario running at the same time.
  • A/B VarioTest: run two identical tests against different API versions, each with 50 % weight. You see how the new implementation performs under the same load as the old one.