Concurrency - Maximum Simultaneous Candidates
The maximum concurrency depends on: (i) if proctoring is enabled; (ii) which plan you are on, and (iii) whether you are conducting the test on the AutoProctor website or on your own. The number varies from 50 to 10,000, and can also be increased if needed.
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.
If you are conducting the test on your own website via our SDK (that is, if you are NOT conducting the test on the AutoProctor website), see this section instead.
For increased limits, see FAQ #4 below
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.
For eg, say the max concurrency is 100. If 105 candidates try starting the test within 60 seconds, Candidates 101 to 105 will see this "Please wait and Retry" page with a button and a countdown. Say the countdown is for 10 seconds. They click the button after 10 seconds. The test now loads for them, because the system has stabilized.
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.
This is only relevant if you are using our JavaScript SDK to conduct proctored tests on your own website. If you are conducting the tests on the AutoProctor website, ignore this section.
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.
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!
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.
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.
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.
We could go up to 25,000 per min per account.
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
If you are conducting the test on your own website via our SDK (that is, if you are NOT conducting the test on the AutoProctor website), see this section instead.
Plan | Proctoring Enabled? | Max Concurrency |
---|---|---|
Standard | Yes | 1000 |
Premium | Yes | 2000 |
Elite | Yes | 5000 |
Standard | No | 50 |
Premium | No | 100 |
Elite | No | 150 |
For increased limits, see FAQ #4 below
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.
For eg, say the max concurrency is 100. If 105 candidates try starting the test within 60 seconds, Candidates 101 to 105 will see this "Please wait and Retry" page with a button and a countdown. Say the countdown is for 10 seconds. They click the button after 10 seconds. The test now loads for them, because the system has stabilized.
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
This is only relevant if you are using our JavaScript SDK to conduct proctored tests on your own website. If you are conducting the tests on the AutoProctor website, ignore this section.
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