Server requirements for 5000 users

Server requirements for 5000 users

by Panagiotis Iliopoulos -
Number of replies: 12

Hi everyone,

I wanted to ask what would be the most optimized server, from hardware's aspect I mean.

And what would be the best solution for the connection, upload and download | mean.

Thanks all for all your help.

Average of ratings: -
In reply to Panagiotis Iliopoulos

Re: Server requirements for 5000 users

by Michael Penney -
5000 synchronus (as in same quiz or chat) or 5000 users who will login at various times?

For 5000 asynchronus users a nice system would be dual 2-3ghz with 3GB RAM, some lunuxen or bsd OS, 60GB plus HD, tape backup, UPS or other emergency power source. I think Dell sells 1Us like this for ~$1000-$1500?

Are you planning to grow or is 5000 your estimated max?
In reply to Michael Penney

Re: Server requirements for 5000 users

by Panagiotis Iliopoulos -

Hi Michael,

First of all thanks for your reply, the 5000, is as you well put it, my estimated max and of course we are talking for 5000 asynchronous users, foolish of me I didn't mention that in my post.

As far as synchronized users a rough number would be 500 max.

Another thing I wanted to ask is this, yesterday as I was reading through the posts in this forum I read about "php accelerators", I want to ask what are these "php accelerators", what do they do and last, with my number of users, synchronized or unsynchronized, will I need one?

Thank you all

Panayiotis.

In reply to Panagiotis Iliopoulos

Re: Server requirements for 5000 users

by Joan Codina Filba -

As you may know php is an interpreted language. This means that every time you request a page, the correspondig php file must be read, parsed, and executed to produce html. But not only the page requested but also all pages that the php code includes.
The Php interpreter does this in two steps, first parses the file to generate a kind of byte-codes (an intermediate language ) and this code is then executed.
An accelerator is a cache of this intermediate code of the files requested by the server, so files don't need to parsed every time they are requested.
We have done some tests and the speed is 30 times faster.
Moodle pages are complex include many other huge php pages (like config.php, and the ones in ./lib) apply the filters...
When I write a new course, usually I do it at home with a local installation of Moodle (is much easy to copy files instead of download them, and adding activities is much faster) and with only one user, using the accelerator you can notice the difference for every page request.

In reply to Joan Codina Filba

Re: Server requirements for 5000 users

by Genner Cerna -
I would suggest going on Dual processor and a lots and lots of Ram.

Unlike we had, its a pain on the ass running P4 with single processor 2gb of ram. PHP eats up the CPU till it dies, even running on accelerators. By the way we had 4,000 students. 150 students log at the same time kills the dedicated server.

Why settle for less if you had the money, go for the best harwares you can affort... Perhaps you could even host our Moodle. approve
In reply to Genner Cerna

Re: Server requirements for 5000 users

by Panagiotis Iliopoulos -

Thanks Genner and Joan,

The research for the best hardware is on the road  

I have a friend who is a "hardware wiz" on the job tongueout

We are going for a dual processor and possibly a 3 or 4 Gb of RAM. The money are of no concern, we are lucky on this one.

Also thanks for the info on how php works and what accelerators do, I'll get on that and look for the best one I can find.

Best regards Panayiotis.

In reply to Genner Cerna

Re: Server requirements for 5000 users

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
> its a pain on the ass running P4 with single processor 2gb of ram. PHP eats up the CPU till it dies, even running on accelerators. By the way we had 4,000 students. 150 students log at the same time kills the dedicated server.

Doesn't sound very encouraging, specially for places where the money _is_ an issue sad

Could you tell us more about the P4/2GB setup, operating system, database, Moodle version, etc. ?

I wonder whether a scheme of benchmarking is available. Will start a new thread on that.
In reply to Genner Cerna

Re: Server requirements for 5000 users

by Dayron D -

I've not seen it mentioned much, but wouldn't fast, SCSI drives also kick perfomance up a bit?

In reply to Genner Cerna

Re: Server requirements for 5000 users

by Samuli Karevaara -
I might be completely (!!) wrong, but when Martin upgraded the moodle.org servers I seem to remember that moodle.org runs on a server with figures in the same ballpark, and seem to handle 500K pageloads per day, albeit sometimes a bit slowly, but anyway.
In reply to Panagiotis Iliopoulos

Re: Server requirements for 5000 users

by Samuli Karevaara -
(Disclaimer: I'm not a sysadmin. So adjust the facts accordingly smile )

We have a similar user base: 8000 users alltogether but many of them inactive, around 4000 logged in during the last months.

Our server is a dual Xeon 3,2 GHz with 4 GB of ram. It's a hyperthreaded server so we get four virtual processors and together with enough ram this makes it a very efficient in web server use. OS is (Novell) Suse Enterprise Linux.

We have a SAN system for the (high-speed SCSI) disks and the server has an "optic-fibre-card" connecting it to the SAN (this is one part where I'm lost with the acronyms and terms blush )

Currently we get 100-200K page loads per day as we're just gaining speed, and this doesn't put much load on the server. I estimate that with this setup we can go up to a million page loads per day (Moodle pages, meaning lots of PHP on each page) even without PHP accelerators. The next steps up would be using a PHP accelerator and a separate DB server.


The bandwidth is another thing to consider too! We have a gigabit connection (AFAIK), but I believe 100 Mbit/s is just fine for your numbers too. With 10 Mbit/s you might want to limit the max size of the uploaded files to 1 or 2 megs each.
In reply to Panagiotis Iliopoulos

Re: Server requirements for 5000 users

by Chris Ainsworth -

Over the past several months there have been a lot of people asking about "ideal server specs" for 2000 plus students. When we get up to the 4-5000 student numbers has anyone seriously looked at the "risk implications" of singular server installs. There has been little conversation or consideration of implementing a "dual server" master/slave, main/backup configurations, or more strategically a small cluster environment.

In a 5,000 plus on-line student environment there are far more significant issues to be considered that "just the ideal hardware solution". These other "significant issues" will have a direct impact on your hardware selection and management of your environment. 

1)    The first question I will ask, is are you expecting your environment to be accessible 24/7/365?

If "yes" do you have technical support "on site" 24/7/365?

If "no" do you have technical support "on-site" during the hours your server is "on-line".  Does your institution expect "technical support" for their IT environment during business hours? If the answer is yes, then in a risk management argument, your "on-line environment" requires technical support during its business hours.

2)    What is the reputation of the on-line environment worth to your institution if the environment is not accessible for a given period of time?

Will students just complain or will they move to another institution? This is an important question when many of an institutions clients (students) are not form a local catchment area

Will the reputation of your institution be affected by downtime of your environment?

These are just the very tip of the iceberg in planning for an online environment and well before one considers the hardware in which to deploy the environment. If you are the manager responsible for deploying the physical environment, then these are a couple of the key questions that should be at the top of the discussion agenda and have solid answers provided.  If you can get these key questions answered, then you have the beginnings of a business case to gain the funding to build a solid on-line environment that is sustainable.

From a personal perspective, anyone who is deploying a system for 5000 plus students and who does not have a 2 server strategy, is taking on a huge personal responsibility of that institutions /  organisations reputation on their own shoulders something I would want to be paid really well for if I was to accept it. An ideal solution though is a small cluster environment, that provides high scalability and high availability, something that we reviewed, workshopped and demonstrated at the Aussie Moodle conference in July.  The strategy works and is a affordable if your institutes reputation is of primary concern.       

In reply to Chris Ainsworth

Re: Server requirements for 5000 users

by Martín Langhoff -

There has been little conversation or consideration of implementing a "dual server" master/slave, main/backup configurations, or more strategically a small cluster environment.

Are you sure of that? wink

I dare you to search for "server cluster" in this forum using the excellent search functionality Moodle.org has. Or to search for "Moodle server cluster" on Google. Open challenge. Hit that Search button with force... and please post the 'top picks' of what you find.

Edit: removed 2-server comments -- I was obviously misreading. And the correct strings to search for would be "Moodle High Availability HA". Which gives great hits on Google too wink