We will be conducting a quiz on Moodle with 100 students logging in at once. In the past, we have had issues with large numbers of students logging in at once. Are there any settings in MySQL that we should set to avoid issues?
Please share any tips any of you have.
Please first consider upgrading your RAM to 4-8 GB because 1.5GB is too less to accomodate 100 users. Also optimize your apache, php and mysql for better performance.
> Moodle version: 1.9.4
The later versions of Moodle 1.9 were more streamlined than the early 1.9 releases and all the 2.x versions. Update Moodle to 1.9.latest (1.9.16 right now).
Isn't that old? On mysql.com the "community server" is in 5.5 now. Debian 6 comes with 5.1.
BTW, what is you platform? By any chance Microsoft Windows?
> Our processor is Intel Pentium 4 CPU 2.66GHz and we have 1.5 GB RAM at present.
Single core, single thread? Sounds like a couple of years old desktop.
> We will be conducting a quiz on Moodle with 100 students logging in at once. In the past, we have had issues with large numbers of students logging in at once.
> Do you suggest we increase the RAM as well, and if so how much?
If those 100 students log in at once to take an online exam, your server is definitely too weak.
As already mentioned you must at least get more RAM. RAM is cheap today. Once you go beyond
4 GB you will need a 64 bit operating system. If Windows, forget desktop versions (XP, Vista,
Windows 7) and get at least Server 2003. Linux is definitely more efficient, if you know how.
If you are really tight on hardware going back to Moodle 1.6 could be an option, its quiz engine
was the most efficient I've seen.
Check the initial information given in the introduction to this forum (Hardware and Performance),
read the performance documentation and the FAQ. Search the forum as explained there or
go through recent discussions, for example http://moodle.org/mod/forum/discuss.php?d=195439.
Thanks a lot for all the useful info. We use Ubuntu Server 8.04. Yes it's quite old, we're working on getting it updated really soon along with the hardware.
Support for Ubuntu 8.04 ended in April 2010 http://en.wikipedia.org/wiki/Ubuntu_8.10_Intrepid_Ibex#Ubuntu_8.10_.28Intrepid_Ibex.29. Consider 10.04 LTS - support for the Server version until April 2015. On a standard desktop PC like yours the "dist-upgrade" should work. As always, don't forget to backup data before starting the operation.
Keep 1.9 for now, but update it to 1.9 latest.
As repeatedly mentioned, a RAM upgrade is strongly recommended for 100 simultanous quizes (1 GB RAM per 50 concurrent users). You might even find 2x 2 GB in the used computer market. Assuming you run 32 bit Linux kernel, more than 4 GB won't help you right now.
P.S. @all, If you find a reply useful, rate it as such:
Have rated the replies, thanks! We are getting a new server soon with the right processor and RAM.
Are there any settings I should configure in MySQL to handle 100 students logging in to a quiz at once?
If you've not ordered the server yet, the biggest thing you can do to improve the database server performance is to specify the right disk configuration. With databases, you typically want lots of very fast disks in a suitable RAID configuration. Avoid RAID 5 and RAID 6 for a database server. Personally I'd go for RAID 10 and have a minimum of four spindles, preferably more. If you can, investigate using SSDs - but don't buy consumer-grade disks as these typically fail earlier in a write-heavy environment.
Also, get a decent raid controller with a cache (512MB should be more than sufficient) and battery backup. This ensures that writes are buffered to memory (fast) before being written to disk.
I'm a postgres man myself, but read the MySQL performance tuning guides. A quick google usually bring something up. From what I recall, you need to play with the key_buffer_size or something like that.
Personally, I'd move to Postgres over MySQL any day for numerous reasons. Many people will say that MySQL is faster than Postgres, but by the time you're using InnoDB the jury is out. With postgres you can tune a lot more - for example to increase the amount of memory for complex joins and sub-selects.
Hope that this helps,
p.s. Thanks for rating the previous replies - It's good to see people saying thank you in this way
Thank you for the reply, Andrew. That was very helpful. I shall be reading up on the MySQL performance tuning guidelines while we install.
Anyway, the same conten is available in the introduction to this forum (Hardware and Performance):
In order to help the helpers and others that may encounter the same problem:
* rate the posts useful to you (a drop-down menu appears below each post once you are logged in). This is preferred over "thank you" and "+1" posts.
* once you could solve the problem, summarize solution by replying to the thread, providing links to the documentation, discussions or tracker issues that helped you. Tag that post by adding [Solved] to the subject line.