I have a GoDaddy VPS, it's running well, but I have never tried giving a quiz to 600 students by saying "Start the quiz right now." So I have no idea how my GoDaddy VPS would behave, and therefore cannot be of much help. Ken and others here have pointed you to some ideas and suggestions. I'll try to give just a few more comments (repeating some from others.)
1) Do not install Moodle using Installatron. Doing so gives you no clue about what this utility has done, and it increases the unknown.
2) On my VPS, yes, I do edit and try to improve the database's my.cnf file. I do my best, but I am not an expert in tuning databases. On my VPS, I run MariaDB. In your case, since you are subjecting your database to a heavy load ("all 600 students begin the quiz right now") fine-tuning the database would probably be helpful.
3) You might want to review some of your php settings to make sure they are in order for this kind of load. There are some "timeout" parameters. Have you done anything to your php.ini file?
4) There are many other settings on these (GoDaddy) VPSs, at the server level, that are performance-related. My courses are asynchronous, I don't typically see any heavy loads, so I don't worry about changing these server-side settings. I tend to use the default settings.
5) GoDaddy technical support, and many other companies, will not get into fine-tuning your server for a specific application. Some of these companies might do a little more for very specific applications, like WordPress, but not for other applications.
6) Someday I might be smart enough to install and run the MySQLTuner application, that Ken mentions. Right now, can't.
7) I do run another utility that was provided by someone else called "perspective.php." I have used this when I was fine-tuning my.cnf. You put this file into your moodle folder and run it, such as "www.mydomain.com/moodle/perspective.php." Below are the results for my VPS.
In one second you can do...
- 20381000 function calls
- 93200 16KB files read from disk (cache)
- 35000 regular expression replaces over 1KB of text
- 4200 16KB files written to disk (cache)
- 15630 get_record calls on the course table
- 7860 insert_record calls on the course table
- 12410 update_record calls on the course table
- 1.01 seconds to delete 7860 entries
Script took 15.11 seconds to execute.