โ† Back to 30-Day Challenge

๐Ÿ”— Correlation & Realism ยท Days 13โ€“18

Day 17: Workload Mix

Objective

Combine multiple user journeys at realistic ratios (e.g., 70/20/10).

Scenario

Create three transaction groups: browse (70%), search (20%), checkout (10%). Run them concurrently in one scenario. Watch per-transaction metrics.

Metrics to Watch

per-transaction metricsmix ratio

When It Clicks

Blended load exposes contention that single flows never trigger.

Solution

In JMeter: create three Thread Groups with user counts proportional to your mix (e.g. 70, 20, 10 users if running 100 total). Wrap each flow in a Transaction Controller so the Aggregate Report shows per-journey metrics. Alternatively use a single Thread Group with a Random Controller or Throughput Controller to route iterations by ratio. In k6: define separate scenarios with `weight` in the executor config, or use `exec` to call different functions. Check per-transaction p95 in the results - write-heavy transactions (checkout) almost always suffer first under blended load.

Reflection

Which transaction type suffered most under the blended load? Why?

Deliverable

A mixed-workload script with weighted transaction groups.

โš ๏ธ Never run load tests against infrastructure you do not own or have explicit written permission to test. Always use a dedicated test environment. Unauthorized load injection can cause outages, trigger legal liability, and violate terms of service.