At last my school has decided to take moodle seriously and I can get a new server/pc to run it on.
At the moment I am running a 600Mhz PC with 256 MB.
We could have up to 250 users on at once if by a miracle every pc in the school logged onto moodle at once. We have 1200 users.
Do I really need to buy a server or would a PC work just as fine.
I am currently running on Windows 2003 would linux make it any faster (and more to the point could I install it easy enough on linux, as I only have a small amount of experience with linux!)
I agree with Britt Malka that " ... Linux is a lot faster..."
Attached is a jpg showing how an old Pentium II computer coped very well under heavy load of more than 5 hits per second for over 3 hours. This was while testing moodle on the new DSL 1.0.1
DSL is less than 50MB to download. The server CPU load was over 90% most of the time but the memory use rarely exceeded 75% and the swap file use was 0%
I ran a minimal install of Whitebox to save cpu cycles. This was a setup that worked, but it was not really ideal.
Over Spring Break, I bought a quad xeon 550 with scsi, hardware raid and 4gb of ram off ebay. It was $500 and cost $84 to ship. I installed ClarkConnect 3.0 on it, and transferred the data over. It is working like a champ, but it does not have many users right now. I claim this will support a greater number of users and will not be so prone to the slowdowns.
Were I making a recommendation for a new machine for our environment and wanted it to work but be easy on the budget, I would insist on 2gb of ram. A hyperthreaded P4 and SATA would not break the bank. It would run linux with no gui and a minimal installation.
I claim you can figure out the linux install.
There is good advice here already. You could save some money by using Linux and not pay for another Microsoft OS. That money could go to buying more memory, for example.
Also, think about installing a RAID setup to preserve your data while in operation. Use a distribution geared for servers as you do not need to install any of the 'windows' (not MS) components. I personally like Debian as it is stable, runs with only the programs you need and is easy to upgrade.
As you mentioned that you have a small amount of experience with Linux, there are dozens of HOWTOs to help with setting up your machine available on the Internet.
Hope this helps.
I think you'd also be fine with a Windows server if you don't want to go to Linux. Probably a new dual processor with (mainly) as much RAM as you can get in it, 4 gb is not too much, would be more than fine with your user load and give you some cushion for peak times. Budged for a bit more hardware for the Windows server to cover the overhead of running windows and justify the exta $ with the time you don't have to spend figuring out linux (but also budget in the frequent need to update the WindowsOS for security and virus issues)..
If you find yourself having to choose between a dual processor box and more RAM, go with the RAM.
Also see some of the discussions about setting php and the db (mysql or postgresql) up to handle larger user loads (IMO the default settings for most distributiuons are for pretty limited numbers of users).
It's possible that if you already have a Novell ALA license agreement that you can get it for free with support.
The install is very straightforward with quite a long manual for those new to Linux.
The support leaves something to be desired as well, I asked them about php5 and got back one of those standard looking corporate 'go away we don't care emails'.
The documentation is pretty good with suse and In the end we got everything working OK using a minimum install with GUI and roughly following this guide: http://www.novell.com/coolsolutions/feature/595.html
I really liked SUSE 9. Got an eval copy from the Novell booth at a convention. It is fully functional, no time restrictions. The only limiting factor is that the auto updates dont function through YaSt.
It took me less than an hour to fully install and configure a LAMP server.
It required nearly as little thinking as installing MS 2003 server.
I'm not sure what happened to David's install. But I haven't really tried to do all that much with on it yet. But I hear ya about the support from Novell. At least if you go with Debian or some non-commercial distributions... you have the benefit of forums and user groups like this one.
Regardless of hardware, OS and phase of the moon, be prepared to get your hands dirty tuning the box if you really expect many simultaneous users. There are a few good MySQL (and Postgres) tuning guides. There are a few Apache+PHP tuning guides but those aren't that great -- the mod_perl tuning guide is still the right thing to read, strange as it may sound.
Debian also has a Turck MMcache package which will give you a serious performance boost, at the cost of some RAM and tuning time.
(Edit: At this stage, I cannot recommend Mac OS X as your OS due to serious performance problem in disk access. As much as I like OSX, if you go for an XServe, which are really hot, use Linux on them -- both Debian an Ubuntu run like a charm on XServe. Not joking. OSX, Panther included, have bad IO blocking issues. It seems that the coming release may fix them, but I'll believe it when I see it ;)
Can you give some more info on the issues with OSX disk performance? Are there any links with more details?
I've used Sun and Linux systems for high data rate applications, and Macs for other things. We are currently running a small Moodle installation on Linux but are considering putting Moodle on two Xserves with the database on an Apple RAID, and would like to continue to run OS X Server on them.
If I could find the time, I would load up Linux and Tiger on identical Mac hardware and do some comparisons, but I'm unlikely to have time to do that before we need to make a decision.
- install Postgres and run pg_bench
- get a newish Moodle 1.4.4+ and play with the langcache setting in config.php
Under Debian or Ubuntu Linux you get a PHP that has a lot more extensions available, and you can just apt-get install turk-mmcache which makes a huge difference. MySQL and Postgres are better tuned to the Linux kernel.
At this stage, I love MacOSX to pieces, but I'm not convinced it's as good for server usage as Linux. And vice-versa with desktop usage. They are, of course, converging.
(Edit: Linus' current dev machine is an Apple running Linux.)
We just purchased these and used them last Saturday for a massive placement test. 240 students at the same time logging in, using a 50 question quiz with audio questions. Very heavy load, but excellent results (actually we used four servers, but results show we could have used this one Dell server). Note: we bought the Dell with no OS and installed Linux, Fedora 1 version with Apache 2, PHP 4, MySQL 4, and ioncube PHP accelerator. If you buy this particular machine, we can send the LAMP build on a disk to you (I think ) You should have some Linux experience to do this.