The load on an Online Test System is very different from the data contained by the system. It is not the number of registered students. It is also not the number of questionnaires uploaded.
Till the time there is no use of system to solve the test by a candidate, there is no load. It is just a dead database which is occupying disk space. But since there is no transaction and use of data bandwidth, thus we call this situation as a no-load condition.
There can be 100 or 10000 registered candidates and there might be 1 or 250 question papers ready uploaded in your system BUT still there will be no load if no candidate is solving any question paper at this point of time. The actual usage of the system begins when a user starts attempting a question paper.
When a candidate solves a question paper the database of the online test system is repeatedly hit several times in a minute to retrieve and store the latest responses or changes made by the candidate. It is only then that the bandwidth and other capabilities of the database server are put to use.
It is also to understand that the load exerted during a single online test activity per user is much higher than the total load exerted by that user for other dashboard activities during the entire year.
Suppose a test is active for 3 days and total 10000 candidates will take part in it during these 3 days. The server is running 24 hours and the candidates might login at their convenient time during the active period of the test. Since the duration of the test is also fixed, so all these candidates will not remain logged-in and will be able to use the online test system for all 3 days. Any candidate will login and solve the test with one or more logins attempts and will have to leave the system as soon as the total running time of the online test reaches the defined test duration.
In this way, some candidates will log-off in some time and other new candidates will log-in. So the candidates solving the test in these 3 days will be uniformly spread over 3 days and at any point of time there may be about 50-60 candidates logged-in and solving the test. Even if one question paper or several question papers solved by various candidates, the concurrent load on the system is the number of candidates logged-in at one particular instant.
In simple language, the server requires more RAM to be able to run multiple instances of the database server to support multiple logins. Some versions of Operating Systems and Database Server also have limits of maximum RAM that they can use and this puts a check on the maximum concurrent logins it can smoothly sustain. In either case the better the server infrastructure the better concurrent login load can be sustained.
Here it is important to understand that if at any one point of time the number of candidates currently solving the test is not exceeding more than 50 then the server that can handle 50 simultaneous logins of database instances is perfectly ok to conduct a test of 10000 candidates.
With the above understanding about impact of server capabilities in delivering the test to a number of candidates, it is always suggested to initiate a metered start of the test process on any new server. If the implementation is on a single server with limited resources, then in case of online candidates accessing the system over cloud, it is suggested to schedule the tests for sufficient period so that all candidates are not forced to login within a narrow window of time. Thus at any one point of time, the number of users logged into system will automatically reduced. Also since there is more time window, the max number of candidates logging into the system can be limited by the system administrator. In this manner the accentuated load on the server can be dissolved by increasing the time window for system use.
If the tests are to be attempted by a group on several computers connected to a server in a lab, it is suggested to distribute the candidates in small size groups. So that the users can attempt over a period of time to enable optimal use of resources on time sharing basis. In this manner, more number of users can be handled with limited resources of the server.
It is assumed that the user implementing this Computer Based Test/Feedback System has understood the above approach and shall implement the system with awareness to above approach.
Some of the organizations that are planning to conduct tests with high expected participation, have in mind that these examinations might be needing some exceptionally superior softwares. This concept is not fully correct.
When such a large scale examinations like CAT, IBPS are conducted pan India, they are not conducted with the help of just one single license software loaded on one single dedicated server hosted at some datacenter. Such large scale examination event involves a completely planned solution wherein many servers using multiple software licenses hosted locally in each exam centre or at several datacenters are used and later the data is collated after exam for result processing.
One of the major reason for such a distributed network arrangement is to distribute workload on various servers and also to have backup of the process in case any server fails to deliver. Later when the exam execution is over, the data from all servers is collated to process results.
Thus the software might be same as that is used by a small scale institution, but the total solution is formed by parallel implementation of multiple threads to meet the high workload requirements.
We also have to know that the Software is same for all large or small test events. If you are conducting a test for 10 users or for 1000 users the same online test software