๐ 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
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.