Concurrent Users

Concurrent Users

by Mark Berthelemy -
Number of replies: 20

Hi everyone,

I'm trying to get a feel for how many users Moodle can support at any one time. I know a fair bit is down to the network infrastructure and the server - but at what point does the application itself fall over (if at all smiley.gif)?

All the best,

Mark

Average of ratings: -
In reply to Mark Berthelemy

Re: Concurrent Users

by Martin Dougiamas -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
a) The correct answer.

There are no limits to Moodle itself.

Mostly it's down to the operating system, PHP, MySQL, Apache, RAM, disk speed, caching, number of CPUs and their speed, network bandwidth etc ... just adding one thing like PHP Accelerator can give you a 5-10 times speed increase (and hence more time to process more users).

Even on one computer, it depends on what the users are doing, what they're looking at, which language they are using, size of the database etc etc.

Plus every version of Moodle (and all the other software) has further optimisations as well as new features ...

There's just too many variables.

b) The easy answer

453
In reply to Martin Dougiamas

Re: Concurrent Users

by Zbigniew Fiedorowicz -

Martin,

Let me turn the question around. What sort of hardware platform would you recommend for hosting 15-20 courses of a size/activity level comparable to your "Using Moodle" course?

 

Zig

 

In reply to Zbigniew Fiedorowicz

Re: Concurrent Users

by Martin Dougiamas -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
My answer to questions like this is always the same "the biggest one you can afford". big grin

Seriously, the difference in hardware cost from a single to dual processor these days is not that much, nor is double the RAM or using IDE disks in a RAID array.

Your expected level of activity could easily double or triple in months (you just never know with web sites) and it would be a pain to have to upgrade hardware that soon. IMHO, it's better to over-buy up front.

That said, moodle.org is running with a whole bunch of other PHP-based web sites on a dual-processor PIII's at 1400Mhz, with 1.2Gb RAM and 2Gb swap, and I would think this would be more than sufficient for your situation.
In reply to Martin Dougiamas

Re: Concurrent Users

by Rob Hillis -
You're going to get a review from someone running Moodle on a pretty old/crappy machine before too long. Unfortunately, the MIS department has supplied me with a P3 667Mhz with 256meg of RAM and a 10Gb HD.

Everything for Moodle will be installed on the one machine, and just to make it worse, it'll be a Windows 2000 machine running IIS.
In reply to Rob Hillis

Re: Concurrent Users

by Scott Elliott -
I had to chuckle when reading your post. smile

I am using a P3 600MHz with 128MB RAM. I used it successfully to support 25 students this past summer. The class was 8 weeks with 16 quizzes - 20 questions randomly chosen, about 10 forums, and 10 assignments (some uploaded some not). I required my students to be on the site at least 4 different days each week. (Most were on every day!) Compared to other online teachers on our campus, I believe I require more of my students in regard to online activity.

I am running RH 8.0, MySQL 4.014, PHP 4.3.2 and Apache 2.0.47 with a fairly recent CVS Moodle dump.

I will have about 50 students this fall on the same machine, but I will have an additional 512MB RAM.

I'm glad you posted this. I'd love to hear from other users on what kind of system they are using to support their particular institution, as well as their user base. I would like our campus to allow other instructors to use moodle, but it will take some convincing. The more success stories I can point to the better!

While I'm rambling, I wonder if there is a good way that we can do this type of reporting here in the community that would be standardized?

Anyone with ideas?

More rambling, but has anyone put together a "sales" pitch to have there institution make a switch? If so, would you make it publicly available?
Average of ratings: Useful (1)
In reply to Scott Elliott

Re: Concurrent Users

by Martin Dougiamas -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Another data point - until February moodle.org was running fine on a 400Mhz Celeron with 256Mb RAM and Redhat 7.0 - no load issues at all.

I think it's important for these numbers to make any type of sense to create some sort of benchmark, such as a standard sequence of Moodle activities performed within a standard course by a number of people at once, and measure average page generation time or something. Complex.

Anyhow, I've created this new forum for discussions about this stuff.
Average of ratings: Useful (1)
In reply to Scott Elliott

Re: Concurrent Users

by Mark Tyers -

I have set up a 'test' server running the 1.1 Beta on a Celeron 733 with no HD cache (LAMP install). The default machine had 128MB of slowwww... memory sleepy.gif and ran like a small furry animal with wagging tail angry.gif. Since then I replaced the 128MB with 512 fast memory and it now runs like a dream smiley.gif. To further improve matters I installed PHPA and now it flies... biggrin.gif.

OK there is only a single course with 18 students but bear in mind I am serving video materials cool.gif.

If we get to production status it will get a quad 2.4 GHz Zeon with 8GB memory and 170GB SCSII HDD. Should perk it up a bit wink.gif.

The memory seems to make the biggest difference to performance IMHA.

Average of ratings: Useful (1)
In reply to Mark Berthelemy

Re: Concurrent Users

by Ger Tielemans -

Another try:

  • Suppose I have 4000 students, divided over 10 schools, in maximum 6 "year-layers"
  • Several of these schools deliver 10 or more study streams 
  • In each stream I can get a cohort of  say max. 200 students
  • It can be small groups, but if they are big, I divide ( lets estimate again) these max. 200 students in groups of  25, makes 8 parallel cohorts in each Moodle *)
  • each year-stream gets 15 classes or (less if they do integrated projects)
  • I organise all this one level higher then Moodle, ending up with 10x10x6x15..

9000 Moodles?!?!?      (I recalculated it at least 4 times...)

*) Suppose that in the next release I can work with parallel cohorts, What should I do:

  • Make one big central server (or two in sync), servecing these 9000 moodles
  • Make 10 decentralised small servers with each 900 courses

No other selection criteria:

  • We get fiber in and between the schools
  • and "No-line-of-sight, Nomadic Broadband" for the students in the city area of the school comparable in speed to Cable-connection.
Average of ratings: Useful (1)
In reply to Ger Tielemans

Re: Concurrent Users

by Martin Dougiamas -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
9000 Moodles?! That's over 2 per student! big grin

I think it makes more sense to have one Moodle installation per school (with custom logos etc), and use Moodle to manage the courses for each school. If Moodle can't organise the courses properly then that needs to be fixed.

Ten good servers would be good, assuming you can easily maintain them, otherwise consider a cluster of several big servers, or one seriously large server.

There are trade-offs for each case. Ten servers are harder to maintain but you have more redundancy (if one school goes down it won't affect the others). The fewer servers you have the more redundancy you have to add - more RAID, more CPUs, more RAM etc.
Average of ratings: Useful (1)
In reply to Martin Dougiamas

Re: Concurrent Users

by Ger Tielemans -
  • Take the studyguide of your own university or school.
  • Count the independant courses in that guide
  • gues how many times you have a course in one year
  • the law says also that you need to keep the coursematerials 3 years available for the cohort,
    .......so how many courses will live on your servers?

(9000 is a worst case calculation, or a big succes, depends of your role in the organisation)

Take a normal big secundary school in NL (1200 pupils) houses at least 4 streams
two streams have 4 calendaryears, two streams have 6 calendaryears, so average 5?
In the second part of a schoolcareer, a student can choose from 4 directions (science, medical, humanioria, arts) but it are combinations of  13 subjects.
13x4x5 = 260 courses but there are parallel in each yearlayer.. 4?: 1000 courses

(Ten schools makes 10.000... Your turn.)

 

 


In the second part of your schooltime you can choose at least from

 

Average of ratings: Useful (1)
In reply to Ger Tielemans

Running many courses

by Martin Dougiamas -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Most Universities (mine is about 20,000 students) just run ONE copy of Blackboard or WebCT. 9000 copies of any software for 4000 people is very strange! smile It would be a completely unmaintainable and unusable mess.

I can't really help you with your maths, because I'm not familiar with the terminology you're using here, but rather than separating all these kids I think you need to think about ways to group them together. Just because different groups are taking the same course in layers/streams doesn't mean they should have completely different courses (or Moodles).

This is especially the case with the upcoming support for groups/cohorts within courses in Moodle 1.1. The way I'm thinking of it, the teacher will have a choice between these two modes:

a) groups can "see" each other in the course, and able to see each other's forums, etc, and

b) groups don't see each other, and the course looks like a normal course now, except that the participants list is just their own group. Only the teacher will see "multiple copies" of every activity.
Average of ratings: Useful (1)
In reply to Martin Dougiamas

Re: Running many courses

by Ger Tielemans -

Big misunderstanding: I mean ONE Moodle, hosting/handling 9000 courses...

The cohort-option will bring the numbers down to say 2250 and makes it also possible to keep the resourses of a group in courseformat available, several years after THEIR course(s).

I like this options that the teacher can choose to make the cohorts visible for each other or not: will this be an option that the teacher also can turn on/off during a course  ?

In reply to Martin Dougiamas

Re: Running many courses

by Paula de Waal -

Martin says:

"This is especially the case with the upcoming support for groups/cohorts within courses in Moodle 1.1. The way I'm thinking of it, the teacher will have a choice between these two modes:

a) groups can "see" each other in the course, and able to see each other's forums, etc, and

b) groups don't see each other, and the course looks like a normal course now, except that the participants list is just their own group. Only the teacher will see "multiple copies" of every activity."

I feel there is another option to be added which is running at the same time forums that can be acessed by all groups and forums that are acessed only by the group. If we are talking about different groups in the same course, that will create a space where people of different groups can discuss common interests or evalute group dynamics. If we are talking about different working groups in a class, that will make feasible the adoption of complex group learning strategies such as JIGSAW.

Paula smile

Average of ratings: Useful (1)
In reply to Paula de Waal

Re: Running many courses

by Martin Dougiamas -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Absolutely, yes. That fits under option (a) from my point of view, allowing further choices at the activity (eg forum) level.

(I'm pretty sure will be switchable at any time, Ger, the logic just needs to be worked out in a sensible way).
Average of ratings: Useful (1)
In reply to Mark Berthelemy

Re: Concurrent Users

by Joar Herseth -

We run a small server (Mandrake linux 9.0) with a p4-2,4Ghz - 3x 75 GB ide hd, and 512 MB ram.

It runs 1 copy of Moodle 1.1.1 with ca. 100 courses and 900+ students, and the server seems to idle or near idle most of the times ,and it respondes very fast. The log wiev shows about 10000 log entries each day. I wonder what happends when all the students start chatting at the same time... smile

 

Average of ratings: Useful (1)
In reply to Joar Herseth

Re: Concurrent Users

by Huib van Wees -
Well my server a Via C3 at 800 Mhz. with 1 GB of ram (yes a C3 and I'm proud of it!) runs a lot of stuff on Linux.
In this stuff are 2 moodle installations, not very high traffic.

Users complained about the slow chat so I modified the chat config, to:
chat_refresh_room: 3 secs
chat_refresh_userlist: 15 secs
chat_old_ping: 15 secs

No more complaints about slow chat sessions.
The max. number of concurrent chatting users was once 7 students.
I noticed a very small increase in the load of the machine, but this was too small to worry about it.
It depends on a lot of things I think, but I was supprised about this chat performance!

So try it out to see what happend when a lot of people are chatting.

Regards,

Huib

In reply to Mark Berthelemy

Re: Concurrent Users

by Ms Neyland -

Our school's moodle site seems to hang, when there are 15 concurrent users or more. What could be the reason for this, if the hardware is ok? e.g. Is there a setting in the ini or config files?

In reply to Ms Neyland

Re: Concurrent Users

by Robert Brenstein -
You don't provide enough details, but first guess is that you don't have enough RAM.