I claim, your server, hexcore/12 thread/128 GB RAM, should be able to handle 200 simultaneous quiz users without going irresponsive. So, please follow the information my original links point to and come back with what you have done, why and what the effect was.
Are you saying that the quiz works for students for multiple minutes and then after around 15 to 20 minutes they have problems. What do the students see when the problem occurs, any error messages?
One more reason why one shouldn't hijack threads. With "hexcore/12 thread/128 GB RAM" I was referring to Subrahmanyam's server https://moodle.org/mod/forum/discuss.php?d=406930, where as you just walked in to the discussion out of nowhere.
@Moderators, please split the sub-thread starting at https://moodle.org/mod/forum/discuss.php?d=406930#p1643181. Don't know what a proper subject line is, "Specific configurations"?
I wonder whether your problem has anything to do with the quiz, because a quizz don't have a cycles like that. In a synchronous quiz paper almost always the server gets a huge peak load right at the beginning, during the initial seconds. As you may well know, the students are impatient to see the exam. The next peak is at the closing time. Usually spaced out better - not every candidate wait for the last second. In between turning pages (if the quiz is multi-page) sends requests to the server, but they are more or less evenly spaced, because there is no coordination amoung the candidates. So your heavy load in cycles of 15-20 min is highly suspicious. What is your crontab like? Read its output.
To talk of Hardware and performance, you need to start by telling us what your hardware is. Take https://moodle.org/mod/forum/discuss.php?d=406930 as an example. The next thing is software. Tell us about the operating system, web server, database server, how did you install (tutorial), what adjustments/tuning you have done. Ultimately you need load graphs of your server. Munin is the common tool in this forum.
That said, I read that you have other problems with the quiz: https://moodle.org/mod/forum/discuss.php?d=407290. Sure, you have to solve such problems before moving on to performance.
Then this https://moodle.org/mod/forum/discuss.php?d=407447 - from yesterday. You can report back here once those problems have been sorted out.
This was the plugin i'm using to conduct the quiz exams https://moodle.org/plugins/quizaccess_delayed
Server Type : Dedicated
Moodle Version : 3.8
Server : Dual Intel Xeon X5650 2.66GHz HexaCore w/HT
Operating System : CentOS 7 x64
RAM : 128 GB
Hard Disk : 1,000 GB SSD
Port Speed & Bandwidth : 10,000 Mbit - 10GigE with 100 TB
Data Base : Maria DB 10.2
As I wrote earlier the machine is more than enough for 200 simultaneous quiz candidates. So follow up the recommendations give in the header of this forum. And also this conversation, the 15-20 min gaps, points in the same direction. Look of other places, like crontab of Moodle, or crontabs in that machine in general.
Now that is a decade old Westmere architecture, none the less would still have easily handled 200+ concurrent, its the DB hoping between the NUMA nodes, the problems is local RAM to cores are faster, but accessing RAM handing to other cores is much much slower, so if for example first set of RAM (allocated to First CPU) is allocated to DB and O/S, and if O/S needs to do something - it swaps the MariaDB <--- this is where trouble begins.
If you can turn it completely off in BIOS, do that, else see if your BIOS can interleave the memory allocation.
in my.cnf add settings
additionally, add another SSD (256GB would be enough) and put database there alone
how much memory you've allocated to DB?