I think you're probably going to need more (virtual) hardware in that case. That's a huge amount of people to be doing a quiz at the same time.
However, some general thoughts (all of which are documented, however)
- If you don't already, organise all the monitoring you can. You need to know what your server is doing. Munin is a good start
- Get a redis server. Use Redis for caching and for sessions
- Consider using the database for file locking.
- Tune the database (if you've done nothing, it will be using far too little resource)
- Tune the webserver (usually the opposite of the DB. They come configured to serve static web pages and can use too much resource)