Specs for new server just for Moodle

Specs for new server just for Moodle

by Mike Johnson -
Number of replies: 17

I finally got approval to purchase a new server specifically for Moodle.  Below are the specs on a server quote from our supplier.

We have ~2000 users and 100 courses but expect much more use.  The site is currently running VERY slow and we frquently get a database connection error.

What do you think of these specs?  I won't be getting second chance at this once it's ordered so please let me know if you see anything in the spec that might need to be changed.

IBM High End Server: xSeries 336 Server, Dual-Core Intel ® Xeon Processor 2.80GHz, 2GB Ram (16GB Max), 2 Slots x 3 Bays, DVD-Rom 8x Max, Integrated Dual Channel Ultra320 SCSI Controller, 600GB Hard Disk Capacity, 10/100/1000 Gigabit Ethernet, ATI RADEON 7000-M 16MB Video Ram, 585W Auto Restart Power Supply, 8 Cooling Fans Standard, Ports: Mouse, Keyboard, Video, 1 USB (front), 2 RJ-45, 2 Serial, 2 USB 2.0 (back), Slots: 1(1) 64 Bit low profile PCI-X 100MHz, 1(1) 64 Bit PCI-X 133MHz

Upgrade to 2GB PC2-3200 (2x1GB) ECC DDRw SDRAM RDIMM Lit for 4GB Total
Upgrade to 146GB 10K Ultra 320 SCSI Hot Swap HDD 90P1306 (Quantity 2)

Thanks for any suggestions

Average of ratings: -
In reply to Mike Johnson

Re: Specs for new server just for Moodle

by Steve Hyndman -

Mike...there has been a lot of discussion about server considerations for running large Moodle sites, so if you haven't done so already, search the forums and you will find a lot of information. It's almost impossible to say exactlly what you will need, but if I had to give a single piece of advice, I would say buy the fastest processsors and hard drives you can afford and put as much RAM in the server as you can afford. 4gb of RAM should be good, but if you can afford 8, then do it.

Steve

In reply to Steve Hyndman

Re: Specs for new server just for Moodle

by Mike Johnson -

Thanks, Steve.  I've looked at a lot of the discussions about servers and tweaking the settings.  I guess I was just wanting some assurance that this server would handle the load. smile

I know there are alot of variable in play such as bandwidth, number of concurrent users, what they're doing, etc.  We're going ahead with the order so we'll see what happens.  I'm just happy to have a new server that will only be running Moodle and not also hosting our public website.

In reply to Mike Johnson

Re: Specs for new server just for Moodle

by Samuli Karevaara -
We have ~5000 users and a few hundred courses on a similar server and it's running fine smile though we have a lot of bandwidth too.

Edit: Make sure to run Unix/Linux!
In reply to Samuli Karevaara

Re: Specs for new server just for Moodle

by Michael Kimkung Kipkemoi -

Hello everyone. My university will be using moodle beginning in the Spring Semester of 2008. I have been asked to research how much bandwidth we will require for using Moodle. We will have about 6500 users at the university. How much bandwidth do you think we would require to support this whole group of people and make sure that everything runs fast. Thanks

Mike Kipkemoi.

Alliant International University

San Diego, California.

In reply to Mike Johnson

Re: Specs for new server just for Moodle

by Don Hinkelman -
Picture of Particularly helpful Moodlers Picture of Plugin developers
Hi Mike,

We recently bought a Dell PowerEdge SC1420 server with similar specs and are quite happy with it. It handles 200+ users doing a heavy listening quiz simultaneously (in computer labs) and 5000+ intermitant users.
  • Dual Xeon Processors--3.0ghz, 2mbcache, 800mhz bus
  • 2GB ram--ECC DDR-2, 400 SDRAM
  • 2 x 80GB SATA hard drives
  • No OS or maintenence extensions--added our own LAMP
Cost = US$1900 purchased online.
Average of ratings: Useful (1)
In reply to Mike Johnson

Re: Specs for new server just for Moodle

by Ronnie Brito -
Sometimes misconfigured software can degnerate hardware performance...

be sure to use InnodDB table types if using mysql... also change max_connections on configuration file...

running the chat module in deamon mode can improve performance too ;)
In reply to Ronnie Brito

Re: Specs for new server just for Moodle

by Ken Wilson -

Ronnie

Sometimes misconfigured software can degnerate hardware performance...

That's a good point! I used to think that InnoDB would help too, but from looking on the forums and the installation scripts Moodle does not use this table type by default. In my tests, I also found that InnoDB uses more disk space and has a higher CPU overhead (see http://moodle.org/mod/forum/discuss.php?d=12961).

A downside of changing max_connections is that it will also impact on memory. All of the per connection buffers in mysql will scale up and soon processes will start to swap to disk, so check that the server has plenty of spare RAM smile.

Ken

In reply to Mike Johnson

Re: Specs for new server just for Moodle

by Alex DePena -
We had Moodle running on a DELL 2650 with 2 Dual Core Xeon Processors with 4GB of memory. After considerable amount of tunning of the Apache Server parameters, open file limits, file system parameter, and MySql parameters we were able to serve close to 900 users with very acceptable response times with about 90% CPU Utilization. At 1200 users it was a bit slow and started to thrash. [thrashing is bad - 100% CPU utilization just for swapping memory]. We added 4GB of memory and increased the cache size for both Apache and MySql. Flushing Query Cache on a regular basis. This allowed us to serve 1200 users without a system crash. We obtained a similar machine to use as a dedicated DB Server. Now we are serving over 1500 users daily on peak days, with 300-1000, or more,concurrent users. This new arrangement has allowed us to train the 9000+ Staff members of the School District on three mandatory courses over the past two months.

Course scheduling is important! You really don't want 1000 users to all logon at the exact same time -- like at the sound of the School bell. It is especially bad if you are doing Data Base Authentication. We use 3 LDAP servers in a round-robin DNS setup for user authentication to spread the load.
In reply to Alex DePena

Re: Specs for new server just for Moodle

by Genner Cerna -
Go for INTEL CORE 2 QUAD! get more ram up to 8-16 GB, this should do the trick.
In reply to Alex DePena

Re: Specs for new server just for Moodle

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
I would like to know the operating system and which Moodle version/release. PHP and MySQL versions would also be interesting.

When you say 900 or 1200 users, how was that measured - the Moodle figure of "during the last 5 min." or something else?
Average of ratings: Useful (1)
In reply to Visvanath Ratnaweera

Re: Specs for new server just for Moodle

by Alex DePena -
It was measured by by using web load testing software running on three servers feeding the Moodle site.

OS = Red Hat EL 4 kernel 2.6.9-55
PHP = 5.1.2
MySQL = 5.0.18
Apache = 2.0.55

Average of ratings: Useful (1)
In reply to Alex DePena

Re: Specs for new server just for Moodle

by Genner Cerna -
better yet get CORE 2 XEON and lots and lots of RAM up 16gb
In reply to Alex DePena

Re: Specs for new server just for Moodle

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
Hi Alex

Thanks for the information.

With 900 concurrent users, yours must be one of the beefiest Moodle servers around - or rather the server farm. If I got it right
- 3 webservers serving Moodle on round-robin?
- 1 database server
- round-robin entry (another server or hardware?)
- 3 LDAP servers.

Quite complicated ;-( Can you post any documentation on the architecture?

Apart from tuning the web and db server, have you done any application level optimizations? What ist the Moodle version BTW?
In reply to Visvanath Ratnaweera

Re: Specs for new server just for Moodle

by Clarence Carino -
well a hardware is no good if the software is bad..

i would suggest using lighttpd web server and postgresql database server which are separated on a dedicated machine.. =D
In reply to Alex DePena

Re: Specs for new server just for Moodle

by Michael Spall -
Picture of Core developers Picture of Testers
Alex,

What software did you use for load testing? Could you provide details about the process you used?
In reply to Michael Spall

Re: Specs for new server just for Moodle

by Alex DePena -
Our configuration includes:

1. One Moodle Server - Dell PowerEdge 2850 w/ 2 Dual Core Xeon - 8GB memory - Red Hat EL 4 Moodle 1.8.2+,ELGG,eGroupware
2. One Database Server - Dell PowerEdge 2950 w/2 Dual Core 64 bit Xeon - 8 GB memory - Red Hat EL 5 MySQL 5.0.48
3. Three District LDAP Servers Dell PowerEdge 1850 - Novell
4. Two DNS Servers - Red Hat EL 4 - BIND 9.

Or first Moodle server is used primarily for staff development. It currently has 10288 users and 53 courses. The peak daily load now is between 1700 and 1900 users. The entire staff, all 10000+ just completed the Districts mandatory training. (I'm glad that is over)

We spent a great deal of time preparing test sessions for load testing our Moodle Site. We made a copy of a production course to test against. We had to turn off the facility of Moodle to jumble up the quiz questions. Otherwise our pre-recoreded user sessions would fail.

We used WebLOAD on 4 server PCs to test the system. The un-tuned server went belly-up early on. Then we began to peel the onion, so to speak, and uncover the layers of performance issues over the numerous iterations. The OS open file limit was increaesed. Apache and MySQL session timeouts were modified. Apache mem_cache was added. The MySQL key buffers and query cache were tweaked. Ethernet buffers were also increased.

We are in the process of deploying 3 more Moodle Servers. We are now piloting courses in 2 high schools. Soon Moodle will be available to every high school teacher in the district. But first we have to deploy an LDAP based registration server. The registration server will be deployed as a Xen virtual server running RHEL5 or Fedora 6 and the Fedora Directory. We will deploy a test Moodle server with Tux front end and Apache back end and repeat our perfomance tests. We will compare eAccelerator and XCache perfomance. If we can figure out how to configure lighthttp we might try that too. With school going on now, I doubt we will have any new performance metrics before the summer.

Average of ratings: Useful (1)