Concurrency - Maximum Simultaneous Candidates
What is Max Concurrency?
Max Concurrency is the number of candidates who can start any test under your account within the same 60-second window. So, if you are looking for 1000 candidates who will start the test at 11:00 AM, you'd want a Max Concurrency of at least 1000 if you want all them to be admitted into the test between 11:00 and 11:01.
We calculate max concurrency per billing account, not per user or per test. So, if you've created Tests A and B, and your teammate has created Test C, and your account’s concurrency is 5000, it means a total of 5000 candidates (across all three tests) can begin within any given minute. For Standard Plan users (no Teams), this includes all tests under your individual account.
Concurrency Limits by Plan
Plan | Proctoring Enabled? | Max Concurrency |
---|---|---|
Standard | Yes | 1000 |
Premium | Yes | 2000 |
Elite | Yes | 5000 |
Standard | No | 50 |
Premium | No | 100 |
Elite | No | 150 |
Automated Staggering
Our servers experience the most load when a candidate starts the test — not while they’re answering questions. When a test starts, we must create user records, fetch questions, and so on. After the test begins, the load drops significantly. So when we talk about "max concurrency," we’re referring to how many candidates can simultaneously see the first question in a 60-second window.
If the number of candidates starting a test exceeds your concurrency limit for that 60-second window, our system automatically staggers them. Instead of seeing the test, candidates will see a button with a countdown of up to 60 seconds. Once the countdown ends and they click the button, they will be let in. This is done seamlessly — candidates may start a few seconds later, but the experience remains smooth. If a test duration is set, their end time is automatically adjusted to ensure no time is lost.
Let's consider an extreme case scenario. Say your concurrency limit is 100/min and you send 1000 candidates per minute for 10 minutes straight. Candidates will get staggered multiple times because even if they start later, the limit is being breached. Roughly speaking, it will take 100 minutes for all the 10,000 candidates to be let in.
SDK Users
For SDK users, the default concurrency is 5,000 per minute. If you breach this limit, you will receive a 429
response. You will have to handle this rate-limit at your end. You will likely have to implement your own version of our staggering.
FAQs
1. Why is the max concurrency lower for timer-only tests?
Timer-only tests are free and unlimited, and often shared widely. Proctored tests are paid and, basically, the more you pay us, the more servers we can provision!
2. What happens if we exceed the maximum concurrency?
If the number of candidates trying to start a test exceeds your concurrency limit within a 60-second window, they will see a wait screen with a countdown timer (up to 60 seconds) and a button to retry. Once the countdown ends and they click the button, they will be allowed to enter — as long as the concurrency is within limits at that moment.
If the traffic continues to remain above the limit, candidates may see the wait screen more than once. This entire process is handled automatically by our system, with no manual intervention required.
3. How can we avoid concurrency issues?
- Manually Stagger test start times by sending test links in batches.
- Ask candidates to retry after a minute if they see a wait message.
- For large-scale events, contact support in advance — we can help you plan accordingly.
4. Can I increase the concurrency limits?
The simplest way to increase your limit is by upgrading to a higher plan. But, if you want a limit higher than the highest we offer:
- For timer-only tests, we DO NOT offer a way to increase your limit
- For proctored tests, you may want it
- for a short duration (say a specific Olympiad). Depending on your requirements, we may charge you a one-time cost for this. In units of a 500/min increase in concurrency, you'd roughly pay $500 for each unit
- throughout, at all times. In units of a 500/min increase in concurrency, you'd roughly pay $2500 per month per unit. You must commit to this annually.
5. What's the maximum concurrency you can support?
We could go up to 25,000 per min per account.
Updated on: 06/13/2025