Firts Steps in Moodle and Solution for 200 concurrent users

Firts Steps in Moodle and Solution for 200 concurrent users

by Duarte Silvestre -
Number of replies: 13

Hello,

I'm in the e-learning world since 1999 as teacher, administrator and project manager, but this is my first steps with moodle. Then, I need your help...

For my Institution I need to implement a moodle solution for 200 concurrent users and 1000 registered users. We are a non profit organization and essentially we provide training for others (outside) and not for inside. Then, most of the users must access moodle from the Internet.

Questions:

- We will put the server behind one or two layer firewall. But, it's wise (security aspect) to put everything in one server (application + database)?

- You think this server is enough?:

* 2 Xeon 3.4 Ghz
* 6 Mb RAM
* 3 x 73 Gb SCSI Disk - RAID 5
* Perhaps more 2x 36 Gb SCSI DIsk - only for the OS (Windows 2003) and moodle application layer

- For the server side, how much Internet bandwidth (kbps) I must considerer for each user? We will put all the things in the ISP Data-Center and we must know how much Internet speed (2 Mbps ?) we must contract.

Many Thanks

Duarte S.

Average of ratings: -
In reply to Duarte Silvestre

Re: Firts Steps in Moodle and Solution for 200 concurrent users

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
> a moodle solution for 200 concurrent users and 1000 registered users

Those numbers sound too optimistic for me. Assuming you are talking about _logged in_ users, this means each user goes on-line almost 5h per day, 7 day a week!

I prefer to use the term concurrent to mean "waiting for the server to respond". The logged-in users keep their _browsers_ busy, not necessarily the _server_. I may take 10 Min. to write this posting and wait 5 sec. for the server to absorb it. ie. only 1/120th of my login time was felt by the server!

> it's wise (security aspect) to put everything in one server (application + database)?

I guess so. You half the exposed area.

> * 2 Xeon 3.4 Ghz
> * 6 Mb RAM
> * 3 x 73 Gb SCSI Disk - RAID 5

I would immediately upgrade to 2 GB at least smile

Seriously, make sure that your hardware and the operating system support that much RAM! This machine may be an overkill for 1000 users, depending on the OS.

> * Perhaps more 2x 36 Gb SCSI DIsk - only for the OS (Windows 2003) and moodle application layer

Oh I see! You might need all that horse power to keep the OS going sad Sticking to Windows you not only pay licence fees, but also sacrifice machine power!

Go through all the recent postings. For example this: http://moodle.org/mod/forum/discuss.php?d=38920
specially the two pictures in this http://blogs.zdnet.com/threatchaos/?p=311&tag=nl.e550

Also see what our moderators have compiled: http://docs.moodle.org/en/Performance

In reply to Visvanath Ratnaweera

Re: Firts Steps in Moodle and Solution for 200 concurrent users

by Duarte Silvestre -

Thanks for your answer:

When I say "a moodle solution for 200 concurrent users and 1000 registered users" I want to say "a moodle solution for a maximum of 200 concurrent users at the one time and not all the time (these 200 users can be simultaneous for just one minute in one day, but my system must suport this working minute).

Please, for the others who want to help me, I need help for Moodle and not for a comparasion between Windows and Linux. I like very much Windows and I want Windows and I'm very tired of Windows/Linux comparasions/wars...

Thanks

Duarte S.

In reply to Duarte Silvestre

Re: Firts Steps in Moodle and Solution for 200 concurrent users

by Timothy Takemoto -

Dear Duarte,
Sounds like it should cope with your projected use quite easily. I am only thinking of other reports on the forums. Please see Don Hinkelman's
http://moodle.org/mod/forum/discuss.php?d=44454&parent=205077
It all depends on so many factors such as the sort of resources and activities that you will be providing, the speed of your internet connection, the extent to which users are accessing resources at exactly the same time.

I have no idea about the bandwidth required.

With regard to the OS, whatever the merits of Windows and Linux, it is my impression that Windows users have slightly more problems than Linux users since the majority of users and developers are on Linux, which gets tested more. Having said that the vast majority of people do not have any problems at all.

In reply to Duarte Silvestre

Re: Firts Steps in Moodle and Solution for 200 concurrent users

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
> these 200 users can be simultaneous for just one minute in one day, but my system must suport this working minute

Thanks for the clarification. It was my blunder.

> I need help for Moodle and not for a comparasion between Windows and Linux.

What did you expect from a community around a GPL'ed product? (Not "some" product BTW!) wink

> I like very much Windows and I want Windows and I'm very tired of Windows/Linux comparasions/wars...

Then why don't you go for BlackBoard and/or WebCT, both directly or indirectly owned by Microsoft? sad

In reply to Visvanath Ratnaweera

Re: Firts Steps in Moodle and Solution for 200 concurrent users

by Duarte Silvestre -

Thanks again,

>>>What did you expect from a community around a GPL'ed product?

Help, only and simple help....

And I like GPL products who works with Windows...

>>>>Then why don't you go for BlackBoard and/or WebCT, both directly or indirectly owned by Microsoft? triste

Do you think I should prefer Blackboard or WebCT?

I like more Workplace Collaborative Learning from IBM (another company who works with many open source solutions...)

You must understand one think:

- I'm very confortable with Windows and I have no time now to study and study Linux. And my services are more cheaper for my Institution than Linux consultants;

- For my Institution, Windows is cheaper... More cheaper than some Linux distributions. About 100.

Best regards

Duarte S.

In reply to Duarte Silvestre

Re: Firts Steps in Moodle and Solution for 200 concurrent users

by Martín Langhoff -
> I'm very tired of Windows/Linux comparasions/wars...

We all are. Moodle is built on a stack that is very well tuned on Linux and Unices in general, and we know a lot about tuning things on Linux... we know very little about tuning on Win32. I haven't heard of anyone doing high-end hosting on Windows/IIS.

On Linux, the whole stack is tuned together -- the kernel, Apache, PHP (where you have several precompilers, etc) and MySQL/PostgreSQL. You can very probably get it going pretty well with Windows/Apache2/PHP/MySQL because I know people are working hard on getting that set of tools running well on Win32. I don't think the IIS/PHP integration works that well under heavy traffic.

Are there any precompilers for PHP on Windows? You should use one if you can.

In any case, if you get it going, please post back here, we want to know what it takes to run on Windows for lots of users. We can then help the next Windows admin who comes around wink

You will find some really good info in the pages that Tim linked to -- just translate them to the Windows equivalent... you will still want to tune Apache/MySQL for your memory availability, monitor disk IO, etc.

Abraixos!
In reply to Duarte Silvestre

Re: Firts Steps in Moodle and Solution for 200 concurrent users

by Duarte Silvestre -

Correction: Between 4 and 6 Gb RAM

Please we need help about Internet link: How much Internet speed (2 Mbps ?) we must consider for 200 simultaneous users?
If not possible to answer exactly, give me some examples about other implementations in house (not hosted).

Thanks

Duarte S.

In reply to Duarte Silvestre

Re: Firts Steps in Moodle and Solution for 200 concurrent users

by Rory Allford -
The upstream bandwidth you'd require entirely depends on the type of load and what you wish to do with moodle.

An average page hit can be in the region of 100 KB and you can do a lot to reduce this type of connection load by turning on GZIP/Deflate compression, though this will increase processing load on the server. There are also a few things you can do at your load balancer / proxy e.g. QoS but ultimately it still comes down to connection speed.

If 200 users send a request at once, a 2MB connection would roughly have a latency of 10 secs + processing overhead, just for a page impression, which seems unacceptable. Furthermore if 200 users all download a 2MB presentation from moodle, the fastest a perfect server could deliver it over your connection is 200 seconds. Users would experience a very high latency, or a "freeze". As for any high-bandwidth content like streaming media, you're looking at 100MB/s, i.e. get datacenter hosting (unless you can afford that speed fibre wink).

As an example, one of our sites has about 1000 users and can get quite high concurrent loads at particular periods during the day.

Here's a copy of our webalizer page for the past month:
http://rory.allford.net/usage_200605.html

It's primarily intranet based (external requests come through a proxy 192.168.125.254) but you can still get an idea for the loads on a relatively small setup - we do have a meatier server hosting 5 entirely web-based moodles as well as streaming video, but there weren't any stats available!
In reply to Rory Allford

Re: Firts Steps in Moodle and Solution for 200 concurrent users

by Duarte Silvestre -

Hello and thanks for you answer,

>>>"you're looking at 100MB/s, i.e. get datacenter hosting "

What DataCenter hosting provide the 100MB/s for only one server?

I know many hosting DataCenter services and they share 100MB/s for all or for a set of servers and not for only one server....

Is possible, but the price is tremendous...

Others provide 5Mbps for each server, but with 1:5 contention...

In reply to Duarte Silvestre

Re: Firts Steps in Moodle and Solution for 200 concurrent users

by Rory Allford -
Hi Duarte,
The 100MB/s figure was if you were to go into high-bandwidth media hosting, e.g. RTSP video on demand. I've been recently looking into ways to tie Darwin Streaming Media Server into moodle as a resource link, and so that figure wasn't pulled completely out of thin air!

For usual moodle hosting, IMO, 2MB/s will handle your average load, but I'd seriously consider nearer 10MB/s given the potential levels of concurrency you're expecting. You don't want the server grinding to a halt at that critical moment when everyone in the class presses submit wink.

In reply to Duarte Silvestre

Re: Firts Steps in Moodle and Solution for 200 concurrent users

by Bernard Boucher -
Hi Duarte,
it depend how you define concurrents users, but if you mean 200 users hitting enter key at the same second to start a quiz for example it is a big load. ( If the performance debug is activated on your site check the time to generate the first page of the quiz, maybe .2 second on a fast server, then multiply at least by the number of concurrents users 200 then at least 40 seconds will be necessary to show the quiz to each students. But 200 students never hit enter at same time! )

For the bandwidth part here are the statistics for my little ( 150 users ) site with at maximum 20 users hitting enter at the same time. Drill down on some months stastistics. The bandwidth depend greatly of the activities that you will use with yours students.

The most logged activity is not a normal moodle activity : it is called flowlog.php from that post.

Maybe a factor of 10 to pass from 20 to 200 concurrents users will give you a rought estimate of the required bandwidth.

I also use that home maid program to simulate 25 concurrent users.


I hope it may help,

Bernard


In reply to Duarte Silvestre

Re: Firts Steps in Moodle and Solution for 200 concurrent users

by Duarte Silvestre -

Do you have a Moodle implementation like this?:

- In your server;
- Generally your users access moodle server form the Internet.

Then, please tell me:

- What is the Internet Speed link you have?
- How many registered users?
- How many simultaneous users?

----------

Do you know others who have this kind of implementation?

I think we need some examples...

In reply to Duarte Silvestre

Re: Firts Steps in Moodle and Solution for 200 concurrent users

by Martín Langhoff -

Do you know others who have this kind of implementation?

There is a great forum search tool right at the top-right corner. There is plenty of info in this forum about large scale installations, and you will see who is running large Moodle installs. And all about server tuning. Help yourself, read a lot, and have fun! Google can help too.