You can change the timeout for the entire question type by editing the prototype. Open the Advanced Customisation panel and set the value you want in the TimeLimit (secs) entry field. You're limited to a maximum of 30 seconds by the Jobe server. It's not recommended that you do this with the built-in prototypes because they get completely replaced on every version upgrade; you should create your own version of the prototype first - a "user-defined prototype".
If you want to increase the timelimit for just one question, you will have to click the "Customise" checkbox for that question in order to access the Advanced Customisation panel. Please be aware that questions customised in this way are largely "cut off" from the parent prototype, so that if you change the prototype's template, say, the customised child still continues to use the old template.
Running an exam with 2000 students at once sounds like a tall order. I'm not sure that an 8-core Moodle server could handle that many students, even if the Jobe server were infinitely fast. If your exam is in Java I'd been even more skeptical about how do-able it is.
Factors influencing the load on Jobe are:
- The rate at which students are submitting answers. This is the most important factor, of course.
- The computational cost of running a typical answer - solving numerical equations, for example, could be arbitrarily expensive. You may also need to consider the rate of submission of bad answers with endless loops. Each such submission runs until the task timeout throws it off the server, chewing up significant Jobe CPU time.
- Whether you're using a question type that uses a combinator template to combine all test cases into a single run. If not, the cost of testing an answer is proportional to the number of test cases, with each one requiring a separate compile-and-execute task submission to Jobe.
- Whether the question uses standard input; if so, even with a (simple) combinator template, you'll get a separate compile-and-execute task submission for each test case.
- Whether students are developing their code directly within CodeRunner or whether they have separate development environments and submit only when they believe their code is working.
- Whether you've turned on the Precheck option. Since Prechecks are free, students tend to throw code at the server with gay abandon, and each click on Precheck involves a Jobe submission. I've seen students Precheck a single question 20 or more times.
If you wish to estimate the server requirements I suggest you first estimate the rate of task submissions. For example, 2000 students, a 2 hour exam with 20 questions and an expectation that each student will submit every question exactly once gives you an average submission rate of 6 submissions per second. The peak load will be several times that.
Then login to the Jobe server and use the time command to measure the cost of running a typical task, keeping in mind points 3 and 4 above. A minimal Java compile-and-run on my laptop (Core I7) takes 1.5 seconds of CPU time. If you assume 8 CPUs could run 8 such tasks in parallel (wildly optimistic) you'd have a maximum throughput of 5 jobs/second. This assumes that you have plenty of RAM and I/O bandwidth. Python and C are much cheaper. Running Hello world in Python takes 0.02 secs CPU time on my laptop, compared to 1.5 secs in Java. A C compile-and-run is even faster. My experience is that with Python and C, it's the Moodle server that's the bottleneck, not the Jobe server. With Java it's almost certainly the Jobe server.
I'll leave the rest of the calculations to you, but those rough estimates suggest that you'd need a minimum of three or four 8-core Jobe servers to run a Java exam. And that's assuming optimal answers to all the above load factors. Also, I'm guessing you'd need around double the capability on your Moodle server. With C or Python, your present Jobe server should be OK but the Moodle server would still need more capacity.
Many sites run multiple Moodle servers and the Open University runs two Jobe servers back to back with a router (or some network device) that distributes jobs to the two servesr. Tim Hunt may be able to give you more details on that and also advise on the maximum question submission rate that a single Moodle server like yours can handle, disregarding Jobe.
Richard