> We are using moodle 2.0.1 to cater to 150 students. By next year we plan to reach out to 400-500 students
In terms of the number of users yours is a small installation. See http://docs.moodle.org/22/en/Large_installations
> Our hardware specifications are:
> Architecture: X86_64 (64 bit)
From the attachment: It is a Xeon, Quad core "Intel(R) Xeon(R) CPU E5506 @ 2.13GHz".
, that attachment was unnecessary. One could paste the content into the post iteself.
> RAM : 4 GB
Keep an eye on the RAM usage. Since you already have a 64 bit system, you can easily add more RAM.
> HARD DISK : 320 GB
> OS installed: CentOS 5.7
Linux is a good choice!
> - moodle goes down very often though very few students have logged into the system
How many? What are they doing exactly?
> - During the assignment submission deadline time, it is required that close to 100 students access the system and upload their assignments,
100 students (try to) submit their work at the same time? That is surprisingly high for a 150 user site!
> but everytime during the time frame before and after the deadline time the system gets stuck/page doesn't get loaded and session times out.
You are talking of users uploading files in an activity of type "assignment" http://docs.moodle.org/en/Assignment_module
and not about a quiz http://docs.moodle.org/20/en/Quiz
> The reason for this absurdness is very vague - has this got anything to do with the hardware or moodle itself is not clear.
You have to monitor the load in your sever during such a rush hour. See http://docs.moodle.org/en/Performance_recommendations#Obtain_a_baseline_benchmark
. In fact I invited the visitors here in a seperate thread http://moodle.org/mod/forum/discuss.php?d=192162
to discuss their methods .
> I request you to suggest me as to how to proceed with the setup keeping in mind our plans in the long run.
Find out first if something malfunctions (corrupt database, wrong webserver config, network setup from bad drivers to poor or wrongly configured hardware, ...). Once all that is OK find out which component hits the limit (RAM, CPU, network, ...) by monitoring as mentioned above. Then "repair" those places either by tuning or by adding/improving the hardware.
There have been many informative discussions in this forum. Try the "Advanced search" facility mentioned in the introduciton.