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
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.
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.
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.
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
Alliant International University
San Diego, California.
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
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 ;)
RonnieSometimes 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 .
I think MD would like to put his hands on your server
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.
OS = Red Hat EL 4 kernel 2.6.9-55
PHP = 5.1.2
MySQL = 5.0.18
Apache = 2.0.55
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?
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.