Amitkumar, I actually do a form of what Guillermo is suggesting on my (much) smaller moodle site. Whenever I give an example, I let the "start time" be anywhere within a 24 hour day, and I make these exams be timed. This minimized concurrent Enter key presses. On my moodle, most database queries take under 2 seconds to acknowledge by moodle.
Around 3 or 4 years ago, I was running my Moodle on a hosted server (somewhat low powered), and gave a 2-hour long exam in class with around 40 students. At the beginning of the test, I had my highest lever of concurrency (i.e., everyone was logging into Moodle at about the same time.) This was in moodle 1.9, and yes, some students experienced a short wait, but within 3 to 4 minutes, everyone was in.
I really like using an asynchronous model for delivering my courses. This somewhat naturally disperses concurrency. Even this summer, I made due dates for one course be Monday and Thursday, and in the other course Tuesday and Friday. I did this to not only balance the load on the server, but also to balance the load on the instructor, which was me!
But quite honestly, if you were to tell all 1800 student that they had to being an activity by clicking on the activity button at exactly 10:00AM, you will probably have some problems. This is probably "Amazon-like" activity, and even Amazon would be stressed to handle this load without any budget for IT.