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.
Prerequisites
Section titled “Prerequisites”- 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).
How VarioTest works
Section titled “How VarioTest works”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.
Step by step in MaxoPerf
Section titled “Step by step in MaxoPerf”1. Create the VarioTest
Section titled “1. Create the VarioTest”- In the MaxoPerf console, go to Tests and click New VarioTest.
- Give the composite test a name — for example
E-commerce — mixed workload. - In the Scenarios panel, click Add scenario and select the first constituent test (e.g.
Catalogue browse). - Set the VU weight for this scenario — for example
60 %of total VUs. - Click Add scenario again and select the second test (e.g.
Checkout — CRUD), setting30 %. - Add a third scenario if needed (e.g.
Order status polling — background), assigning10 %. - Set the total VU count for the composite run. Each scenario receives VUs proportional to its weight.
- Save.
2. Configure and run
Section titled “2. Configure and run”- In the VarioTest Configuration tab, confirm locations and total duration.
- Click Run now.
- A parent run appears in the Runs list with child run links for each scenario.
3. Analyse the composite results
Section titled “3. Analyse the composite results”- Open the parent run. The overview tab shows aggregate throughput and latency across all scenarios.
- Use the Scenario filter (similar to the Locations filter) to isolate one scenario’s metrics.
- 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.
Verify
Section titled “Verify”- All child runs complete with status
Finished(orFailedif 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.
Variations
Section titled “Variations”- 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.
Where to go next
Section titled “Where to go next”- Comparing runs and baselines — compare two VarioTest runs to measure the impact of a code change.
- Staged ramp profile — combine staged ramps with composite scenarios.
- Scenarios and VarioTest — the concept reference for VarioTest architecture.