The first trial (group of about 7 A-Level students - 17/18 years old for you non-Brits) went really well and everything seemed to be fine. They just answered a quiz and a survey.
The second trial is where I experienced problems. It was a group of 13 students, who were all meant to be exploring moodle for a bit (quiz, survey chat etc) and then uploading some work to submit and writing a journal entry. The server started crawling along once they all got on. It's a Linux server, with a Via 800MHz processor with 512M RAM and the load got up to 16!! (See http://wonky.org.uk/mrtg/load.html from 19th November at around 2pm)
So, as with everyone I'm wondering what it'd take to get "decent" performance from this system.
I'm demonstrating moodle to the head on Monday (22nd Nov) afternoon and would like to have an idea of server requirements when I do... so let me tell you about the school...
We're a secondary school (11-18 years old) and have around 1500 students, with around 400 computers on-site, with about 300 accessible to students (all staff have laptops).
We already have a few servers in school, but to be honest most of their resources are taken up already (despite it being a brand spanking new system). So I'm guessing we'd need a moodle server, or servers, just for that and authenticating against the 2003 Domain.
So - what would it take? I've had a look around and to me it looks like we're looking more than one server, load-balanced with a vast amount of RAM... am I right? Any indication of cost for such a thing?
Dual G5 tower, 1 gig ram.
Apache Server 1.3, PHP 5.01, />MySQL 4.0.13, Boutell GD 2, Aspell 0.6
Thanks to Marc Liyanage for making DARWIN 10.35 compatible binaries for PHP5.01/GD2. There have been no performance problems with this server combination.
We use CarbonCopy Cloner for quick daily system ghosts to external firewire drives.
We use internal authentication for 1355 users.
The price of a MacOSX machine will be a little higher than a custom built dual-64bit AMD barebones kit of similar specs, but Apple always uses top-notch parts, and the ability to boot at will from your external backup-drives is a huge comfort zone. If you go with another namebrand, you are likely to pay more (margins are fat once you get into the server class, even at Dell or HP).
You probably won't need more than one server for your site if you buy a nice dual processor/fast bus/ram combo. (I'd stay away from the VIAs though ) In another thread, Martin D. recommended 2gigs of ram for new moodle servers.
I hope this helps...
Anyway, glad to hear that the spec isn't quite as high as I thought it would be... thanks.
My guess would be that you are seeing bandwidth overload, rather than system resources overload, as IME your system specs should be sufficient for hundreds of users.
What do the Linux resource monitoring tools (such as top) say?
The graph shows load over a 5 minute period multipied by 100. So the peak you see going up to 1600 is a peak load of 16.00.
Bandwidth is no problem, since the server is plenty capable of the 14k/s it was using at the same time, as is the 2Mb SDSL link we have. Also other websites were working fine at the time. The load is the bottleneck.
The Via processors are cheapo things, so they don't have much cache on them I believe, which could impact this.
Load, I believe, is the average number of active processes. Once load gets about 1 (or 100 on that graph, since it's scaled up) then there are processes wanting to be run that cannot run and have to wait. It's like a measure of CPU usage, but it doesn't tail off at 100% (which is pretty useless, because you might just need 1% more to do the jobs or you might need 1001% more) So when the load is 16, there are 15 processes waiting... which is not a good situation.
There are some definitions here: http://www.luv.asn.au/overheads/NJG_LUV_2002/luvSlides.html (don't look too far down, it gets VERY complicated).
Basically you really want your load to be under 1 - meaning that all processes get run on the processor immediately and nothing has to wait. However that page says an average of 3 isn't too bad. 16 certainly isn't acceptable.
Hi Alex, this is why looking at top may be more helpful than load. Are you maxing out on processor or ram when this happens?
Or do you have plenty of both?
If the latter, than you probably have configuration issues. When we installed Moodle on RHE, we found that both PHP and MySQL were set up to limit their use of resources. PHP was limited (IIRC) to ~12MB of RAM, and MySQL was set up to use My_tiny.cnf. We set PHP to 1GB of Ram and set MySQL to use My_huge.cnf, and have had no performance issues.
It was a while back, but when we set up 1.2 on our old G3 server (10.1) we also had to do tweaking of the defaul php and mysql installs, after which we had no problems (and we could support 30 simultaneous logins on that system).
Anyway, you may indeed have hardware issues with your via processor or RAM maxing out, top would help you identify that, and if not, then you probably are looking at configuration issues & reading up on tuning php and mysql for large amounts of users might be helpful.