โ† Back to 30-Day Challenge

๐Ÿ“ˆ Load Patterns ยท Days 7โ€“12

Day 12: Concurrency vs Throughput

Objective

Compare '50 concurrent users' against a fixed requests-per-second target.

Scenario

Run scenario A: 50 concurrent users with think time. Run scenario B: same total load but modeled as a fixed arrival rate (e.g. 10 req/s). Compare results.

Metrics to Watch

arrival ratein-flight requests

When It Clicks

Concurrency and throughput are not the same lever - know which you're controlling.

Solution

Script A: 50 Thread Group users with 3s think time - this is concurrency-based, throughput is emergent. Script B: use JMeter's Constant Throughput Timer set to 600 requests/min (10/s), or k6's `scenarios: { constant_arrival_rate: { rate: 10, timeUnit: '1s', preAllocatedVUs: 20 } }`. Script A models 'users browsing'; Script B models 'transactions per second from a queue'. Most real-world web systems are better modeled with arrival-rate - it catches cases where the system can't keep up with demand regardless of user count.

Reflection

Which model better represents your real production traffic pattern?

Deliverable

Two scripts: one concurrency-based, one arrival-rate-based.

โš ๏ธ 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.