Performance tests

How many concurrent users can your website handle?

“How many users can our website handle?” sounds like a question with a single-number answer. The answer, however, depends on what the users do, what response-time and error-rate limits you consider acceptable, and which infrastructure runs the system. A reliable capacity estimate therefore requires measurement under clearly defined conditions.

Common problem: capacity is estimated without measurement

Capacity is sometimes estimated from past traffic or server size. Such an estimate can be a useful starting point, but it does not account for changes in the application, data, infrastructure, or customer behaviour. Once a resource such as database connections, memory, or worker threads is exhausted, the system can also slow much more sharply than it does under a lower load.

A simple test of one address can verify a specific technical assumption, but it does not represent all traffic by itself. Real customers sign in, search, fill their carts, and pay. If a test does not account for these journeys and their proportions, its result has limited value. The average response time alone can also hide slower requests at the edge of the distribution.

How capacity is measured

Scenarios based on real behaviour. We start from how users actually move through the system, not from calls to a single URL. We gradually increase the load and observe when response times cross the limit that users still tolerate.

We monitor percentiles as well as the average. The p95 and p99 values show the thresholds below which 95% and 99% of measured responses fall. Together with the error rate, throughput, and system metrics on a shared timeline, they help form a hypothesis about why the system slowed down. The cause then needs to be confirmed with other evidence, such as logs, configuration, or repeated measurement.

We try several types of load: normal traffic (load) as well as the system’s limit (stress). The ceiling is not one universal number: it differs under steady traffic and a sudden peak.

How to interpret the number

The result is not “the website can handle 5,000 people”. It is a number with conditions: how many concurrent users the system can handle, at what response time (for example, p95 below two seconds), and for which scenario (ordinary browsing can support more users than a complete purchase with payment). Without these three pieces of information, the number is only an impression.

The result therefore also includes a likely bottleneck—the database, application, external service, or infrastructure—and a proposal for how to verify it further. Sometimes a query or configuration change helps; in other cases, the application or infrastructure needs to change. Measurement thus provides a basis for deciding where to invest time and budget.

What measured capacity gives you

Next step

First define the important user journeys, expected load, acceptable response-time limits, and the environment in which you want to measure. Always interpret the result together with these conditions. If you are preparing for a seasonal peak, also read whether your online store can handle Black Friday.

Related topics

You might also be interested in

You want to know the capacity of the system in advance

Load and stress tests will show the behavior and capacity of the system in agreed conditions before the expected peak.