{
  "id": 16019673,
  "title": "Concurrent users vs requests per second: the load test mistake that makes results look too good",
  "url": "https://urgent.news/2026/10/22/concurrent-users-vs-requests-per-second-the-load-test-mistake-that",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-22T08:46:44.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/elvinaqalarov99/concurrent-users-vs-requests-per-second-the-load-test-mistake-that-makes-results-look-too-good-34ej"
  },
  "original_language": "en",
  "account": "The article highlights a common mistake in load testing: confusing concurrent users with requests per second. A requirement for a system to support 10,000 concurrent users isn't precise, as it could translate to anywhere from 670 to 12,000 requests per second, depending on user activity. The key issue is that most users don't send requests constantly; they're usually just reading or typing.\n\nThe article explains that load testing tools can generate traffic in two ways: a closed model, where a fixed pool of virtual users repeatedly send requests and wait for responses, and an open model, where new users arrive at a fixed rate regardless of the system's response time. The closed model can make a system appear stable when it's actually struggling because the load decreases as the server slows down. This discrepancy is known as coordinated omission, where the load generator omits crucial requests that would have strained the system the most.\n\nTo accurately assess a system's performance, the author recommends using the open model, which models the arrival rate of users, even if earlier ones haven't finished their requests. To do this, one needs to gather data from analytics or access logs on how often users act and how many requests each action costs. With this information, you can convert concurrent users to requests per second and identify the true capacity of your system.\n\nThe article also delves into Little's Law, which states that requests in flight (simultaneous) equal RPS (requests per second) multiplied by average response time. This law helps to understand why even a small slowdown can lead to a significant increase in the number of simultaneous requests, potentially causing a system to reach its limit. For a more realistic load test, the author suggests testing at 2-3 times the peak traffic observed during the busiest hour of operation. This will provide a better understanding of the system's behavior under heavy load and help identify its true limits.",
  "summary": "A requirement lands on your desk: \"The system must support 10,000 concurrent users.\" It sounds precise. It isn't. Depending on what those users do, it means anything from ~670 to ~12,000 requests per second . And the way most people then load test it hides the exact moment the system starts to fail. Let's fix both. Three numbers that get mixed up Concurrent users: people with your app open right…",
  "key_points": [
    "Confusing concurrent users with requests per second is a common load testing mistake.",
    "Closed model load tests can make systems appear stable when they're actually struggling.",
    "Open model load tests, using real user data, provide a more accurate assessment of system capacity."
  ],
  "editors_take": "Relying on closed-model load testing creates a false sense of stability by masking system slowdowns, forcing engineers to adopt open-model testing to reveal true capacity and avoid coordinated omission.",
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}