Skip to content

Composite VarioTest scenarios

Problem: Real production traffic is not a single request pattern — it is a mix of browser users browsing a catalogue, API clients submitting orders, and background jobs polling status endpoints. Testing each scenario in isolation misses the interaction effects (shared DB connections, cache contention, thread pool competition). A VarioTest composes multiple scenarios into one run, each with its own VU count and ramp profile.

Test type: Load test — 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 an individual scenario — all the standard Overview, Log, and Runners tabs are available.
  • All child runs complete with status Finished (or Failed if failure criteria were set — see Failure criteria pass/fail gates).
  • The VU distribution matches the configured weights.
  • Aggregate p95 latency in the parent run is consistent with the weighted average of each child’s p95 (large divergence indicates one scenario dominating).
  • Individual scenario metrics are accessible via the child run links.
  • Phased composition: ramp up scenario A first, then add scenario B mid-run using the live controls — this simulates a peak-hour surge on top of a background baseline.
  • Different engines per scenario: VarioTest supports mixing engines — one Taurus scenario and one k6 scenario running simultaneously.
  • A/B VarioTest: two identical tests targeting different API versions, each with 50 % weight, to directly compare how a new implementation performs under the same load as the old one.