[quote]If you're high in 'user', then you might find that you've not got your web server tuned adequately and it's killing the rest of the server.[/quote]
We also have this issue of high user CPU load when submitting assignments. We had 33 users online of which around 20 were uploading small Word documents for "Assignment - upload a single file" type submission.
Our setup is:
4 core CPU
PHP 5 / mySQL 5
RAM is only 3GB used and no swap at all, but our CPU usage and overall load is very high - it got to over 20 just now.
We anticipate much higher usage from our Moodle config, but are concerned that when users are all submitting files the load grinds the box to a halt.
What aspects of tuning the web server could address this specific issue?
Put the database on it's own server. You've reached critical mass on that server. If you don't want to disable any features. Disabling some features might buy you some time. I'm hosted on an amazon EC2 and have a seperate RDS instance for the database. It helps me monitor and track usage that way. Definitely get another server for the database. Or increase memory. But you are eventually gonna hit another wall soon, even with 8 gigs. I did.
Thanks for your quick reply. I agree that putting the mySQL on a different server is something to explore, but I'm not convinced this is a RAM issue at this point, since despite the heavy load and CPU usage, we've never hit swap at any point.
Addititionally, this type of load has been completely atypical. Previously, we've had 30+ users on at once and the 15min load average has never exceeded 2, let alone 4.
We could easily move the mySQL to a different VM and see if improves performance at all.
Yes, it is a VM - apologies for the oversight.
I'll try and advanced search and see what it reveals.
Here is a typical discussion: http://moodle.org/mod/forum/discuss.php?d=146521.
If performance is a concern, why do you go for virtualisation?
Incidentally discussed in /. right now: http://slashdot.org/story/12/05/31/2224245/ask-slashdot-what-type-of-asset-would-you-not-virtualize.