server configuration for 50000 concurrent users

server configuration for 50000 concurrent users

by Bav V -
Number of replies: 17

Hi,

We have a requirement to set up a Moodle system with an initial load of 150000 users that will grow constantly to billions and more. There'll be 50000 concurrent users. The courses will have SCORM compliant flash content.

Thinking of using the LAMP softwares.

Please help in identifying the hardware server configurations and tuning required to the softwares for better performance over the internet.

Thanks in advance smile

Average of ratings: -
In reply to Bav V

Re: server configuration for 50000 concurrent users

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Don't believe you big grin

fifty-thousand-concurrent-users??? Justify how you arrived at that number before we go any further.

I hope you have a budget in the millions if this turns out to be correct!
In reply to Howard Miller

Re: server configuration for 50000 concurrent users

by Bav V -

Its set of schools subscribing to these courses. Fifty thousand is the peak time figure - exam time and at normal time this should be twenty thousand or so. At least that's what they expect it to be.

In reply to Bav V

Re: server configuration for 50000 concurrent users

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
I think it's very risky unless you have some *real* experience of the setup you expect to employ and what sort of load it imposes. The wisdom has always been about 1GB of RAM per 50 concurrent users. So that's 1000 x 1GB. If you are buying 16GB, well specified servers that's getting on for 70 machines plus load balancing and databases. I've no idea what a database server might look like to support that lot.

However, 1GB per 50 users is optimistic if they are (say) all bashing away at quizzes at the same time.
In reply to Howard Miller

Re: server configuration for 50000 concurrent users

by Robert Brenstein -
I bet he means active or even only registered not concurrent users.
In reply to Bav V

Re: server configuration for 50000 concurrent users

by Marcus Green -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers

According to the US Census bureau

http://www.census.gov/

The current world population is a little under 7 billion people. For your user base to grow to billions (i.e. at least two billion), you would be dealing with around 28% of the current World global population.  I'm not sure how to interpret "billions and more", logically the next  unit up would be trillions. At current population growth rates and considering the limitations on the planet to support human life we have a way to go yet before needing to use trillions.

To put it mildly, your number seem to be optimistic.

In reply to Marcus Green

Re: server configuration for 50000 concurrent users

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
> The current world population is a little under 7 billion people. For your user base to grow to billions ...

May be this is the first extraterrestrial Moodle-server, who knows.
smile
In reply to Marcus Green

Re: server configuration for 50000 concurrent users

by Bav V -

Sorry, that was million and not billion smile

Its like this - to start with 1,50,000 students and can go up to 2 million [it's million only smile] students.

These are practice courses for students to take up before actual exam. So, just before exam time there can be more load compared to other times - almost every other student hitting the site.

Hopefully Moodle can handle this load. 

In reply to Bav V

Re: server configuration for 50000 concurrent users

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
So.... will those "insert big number here" students all (potentially) be doing quizzes just before exam time?

It's a mistake to ask if Moodle can handle this... scaling Moodle is easy. Just throw hardware at the problem.

BUT.... there is no way you are ever going to get a sensible answer to your question. No one knows because nobody (not even you) understands the usage patterns of your users.

The only sensible thing to do is to run a small but realistic pilot programme and monitor the system. You will then know what the big system will look like.
In reply to Howard Miller

Re: server configuration for 50000 concurrent users

by Bav V -

OK...Thanks..The current expectation is that they'll be taking up quizzes before exam time. But they are not restricted to take up courses at that time which is a flash content.

We were also thinking of doing a trial setup to start with 150000 users like -

1 load balancer + fallback,

2 web servers,

1 MySQL DB master and one DB slave.

RAM - if we stick to 1 GB of RAM for every 50 concurrent users, the memory need for this requirement is pretty huge. So, how can we decide on this?

Hopefully this configuration is good to start with...

In reply to Bav V

Re: server configuration for 50000 concurrent users

by sam marshall -
Picture of Core developers Picture of Peer reviewers Picture of Plugin developers

If it really reaches a million active registered users I would guess this will be the biggest Moodle system in the world, so you're entering uncharted territory.

For example, our system here at the OU has about (top of my head) 150,000 active registered users (i.e. students who are currently enrolled on courses which use the moodle system). Our actual user table has about 750,000 but that's mostly people who did a course previously or whatever - technically they still have some access (and they might well do another course later) but in practice most won't use it at the moment.

If you define 'concurrent' as 'the number of different users who access the site within a 5 minute period' then we get something like 1,500 concurrent users at normal levels, and our load is relatively balanced so it doesn't peak too much higher. We're using four webservers and one db server at a time (it's harder to scale those) to handle this load.

If you want to make sure Moodle can scale to much higher levels you might have to get closely involved with development and performance enhancement and suchlike.

A safer approach might be to use multiple independent Moodle systems with completely separate databases (and perhaps you might need to build some system to synchronized content between them). If it is possible to separate your users in this manner, you're a lot less likely to run into scaling problems.

It would also be a very good idea to work out how to scale your load gradually i.e. don't try to get 50,000 concurrent on day one, see how the server handles 1,000 concurrent, with enough time to sort things out before it reaches the full 50k.

The 'billions' would be a nice aim for moodle some time, but I think that probably has to wait until Martin Dougiamas's secret plan to take over the world comes into effect. smile

--sam

In reply to sam marshall

Re: server configuration for 50000 concurrent users

by Marcus Green -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers

"The 'billions' would be a nice aim for moodle some time, but I think that probably has to wait until Martin Dougiamas's secret plan to take over the world comes into effect"

Can I be Martins Mini Me, will there be a carved out Volcano Island (just offshore from Perth) and sharks with laser beams and everything?

In reply to Marcus Green

Re: server configuration for 50000 concurrent users

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

The island conveniently just offshore from Perth is Rottnest Island. It's not volcanic. Currently it is a tourist destination, although in the past it has been a WWII fort and a concentration camp for aboriginies, so a future use as Martin's HQ would not be unthinkable. The do have sharks in the waters round there, but I don't recall laser beams.

In reply to Tim Hunt

Re: server configuration for 50000 concurrent users

by ben reynolds -

Tim, I think you dropped an "e" from the Island's name.

In reply to sam marshall

Re: server configuration for 50000 concurrent users

by Guillermo Madero -

Sometimes, when one starts approaching government entities to try to participate in big projects, proposed numbers of users can be overwhelming (not billions, but maybe one or two million).

I do realize that these numbers are usually quite overrated, however, as a (hopefully) future service provider, one has to arrive with feasible solutions and approximate costs.

After having read some of the documentation and several threads in different forums, it seems clear that Moodle itself doesn't have any limitations, but that everything resides in the kind of hardware used.

Yes, as it has often been said, one just needs to throw hardware ($) at the problem, but here is where the daunting task arises. For example, based on different total/concurrent user combinations, and maybe rough estimates on the kind of resources to be used (like video, SCORM, quiz), maybe it would be interesting to know the "best" (I know there is no such thing like that) empirical estimates about the hardware configuration one needs to look for in a hosting provider; like a comparative table, maybe?

Though I've mostly been thinking aloud, it sure is a serious issue I'd love to get some feedback on, as we (as an institution) are on the verge of getting into major leagues smile