← All tools

Load Test Sizer (Gatling)

From target req/s to concurrent users and a ready injection profile.

Why this exists

Every load test starts with the same question: how many users produce X requests per second? Little's Law answers it — users = rate × time-in-system. Enter the target rate and response time, get the concurrency, the total request count and a paste-ready Gatling setUp.

🔒 Runs in your browser — nothing is sent anywhere
100
concurrent users needed
1.00
req/s per user
66,000
total requests in the run
Little's Law: concurrency = rate × time-in-system = 100 req/s × 1.00s (200ms response + 800ms pacing) = 100.0 → 100 users.
Gatling injection profile
setUp(
  scn.inject(
    rampUsersPerSec(1).to(100).during(2.minutes),
    constantUsersPerSec(100).during(10.minutes)
  )
).protocols(httpProtocol)

// Closed-model alternative — hold concurrency instead of arrival rate:
// scn.inject(
//   rampConcurrentUsers(1).to(100).during(2.minutes),
//   constantConcurrentUsers(100).during(10.minutes)
// )

Open model (users/sec) matches how the internet arrives at a service and is the default here; the commented closed model holds concurrency instead — use it for systems with a fixed user population, like an internal portal or a call-centre app.