Number of Moodle can be host

Number of Moodle can be host

by Fanny Rahmadhitya -
Number of replies: 6
My company got an e-learning project, which is providing an e-learning solution for educational institutions. They appoint me to be the project manager and I choose Moodle for this case. For this matter to work I need to know how many educational institutions can my system handles before I need adding a new one.

The average numbers for each educational institution are 1000 students, 300 classes per semester, 25-30 concurrent users

The specification of my systems,

IBM x236
Processor Intel Xeon 3.0/800- 2MB L2
RAM 8GB DDR II
Internal HDD 72GB SATA

Also I'm planning to use DS 4700 by IBM for storage purpose. For initial plan it can store 1,3TB of data.

What I want to know is:
  1. With the average of the numbers I wrote and the system I have, how many educational institutions can my systems handled?
  2. With that kind of specification, should I add another server just for database's purpose? And what about the specs?
  3. Which Linux Distro should I choose for this big project? I've got two names but if you think you can suggest other name, I'm very welcome of it. Red Hat Linux Enterprise 4 or Fedora Core 5?
  4. Which database application should I choose? MySQL or PostGre? And which version?
I really needs the answer asap so I can give the solution to my company's board.







Average of ratings: -
In reply to Fanny Rahmadhitya

Re: Number of Moodle can be host

by Samuli Karevaara -
Disclaimer: I'm not a systems admin, but work closely with them and pretend to be one on my test machines smile

Based on out experiences with 8 GB you should add another processor there. We had a Dual Intel Xeon 3,2 GHz with 4 GB, and the memory was the bottleneck. Now we have 8 GB and it seems to be a more balanced ratio.

Our server is taking care of about ~10000 users and ~2000 courses. "Concurrent users" is a difficult term. I usually measure the amount of httpd threads. We have a "thread keep-alive" at 2 seconds, so this means roughly "users active in a 2 second timeframe". With the above-mentioned server, MySQL 5, Novell SUSE Linux Enterprise 9, PHP 5.2.0 and Apache 2.2.3 (no PHP cache currently) we can take >100 concurrent users (maxing out after about 175, more than 100 for more than briefly also slows down the system quite a bit).

If the concurrent users that you mention (25-30) is a peak value and not a steady "background noise" then with another processor and sensible server software settings you should be able to handle at least 5 of those institutions, maybe more (like 8). If the institutions have separate Moodle installations, then it should be quite trivial to move some of them to another server if the need arises.
In reply to Samuli Karevaara

Re: Number of Moodle can be host

by Fanny Rahmadhitya -
Thanks for you info, Samueli. It sure helps me in calculating the needs.

By the way, what if I restraint the use of "resource eater" activity such as disabling of the chat function; scheduled the use of quiz; etc. Will it helps to increase the number of institutions?

Do you know how big space for the storage I should provide for each institution with assumption they won't use big size files such as video, sound, etc.

And last thing, if the most activities they used only for delivering learning resources and doing some forum, will it decrease the need of hardware resources?

Thanks

Fanny R
In reply to Fanny Rahmadhitya

Re: Number of Moodle can be host

by Maik Riecken -
Hello Fanny,

Requirements of hardware depend on many factors. As discussed the use of some "resource-eaters" may decrease the maximum amount of installations. Forum and simple ressources won't require that kind of CPU or RAM like the chat or the quiz module do. But: What would work with moodle look like, if you don't have the possility to use these modules? Then I could even use a simple CMS, maybe combined with a DMS.

You've got a big machine with a comfortable amount of RAM installed. You cannot the plan the hardware requirements before. I think you have to make sure, that you setup is able to scale when performance goes down. If you'll keep in mind this during the setup, you won't run into trouble later. One way is caching, another way loadbalancing (like I do using lighttpd)... There are many other ways using apache.

just my two cents,

Maik
In reply to Maik Riecken

Re: Number of Moodle can be host

by Fanny Rahmadhitya -
Hi Maik,

I think what you just said was very reasonable. I think I'm ready to meet my BOD right now. Thanks a lot big grin

By the way is there anyone can help me how big storage should I provide if the number of the users around 1000 people and the courses are around 200 - 300? The storage will be use for resource material, etc. Can you give me the number in range, min - max? (such as 3GB - 20GB, etc.)

I really love this community...


Fanny
In reply to Fanny Rahmadhitya

Re: Number of Moodle can be host

by Maik Riecken -
Fanny,

Same thing as before. It depends on the use of the system! One example: There is a german school with 1000 Students and 70 teachers. Storage use is minimal: 2GB at the moment, but: two courses take 80% of the whole 2GB because the teachers are using uncompressed image-data from their digital cameras or are uploading powerpoints presentations of 50MB... (horrible for modem users...)

Buy a good controller (e.g. S-ATA) with an external connector. If space becomes low, just add an external storage system for this. S-ATA makes many things possible when just a "data grave" is wanted.

SCSI makes an excellent task with MySQL-servers because I/O-performance then is one of the most important things.

Cheap and redundance for files, expensive and fast for MySQL.

regards,

Maik
In reply to Samuli Karevaara

Re: Number of Moodle can be host

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
> with 8 GB you should add another processor there

I also think, to make use of those 8 GB, you need at least one another processor, even a quad machine is not an exaggeration IMO.

> "Concurrent users" is a difficult term. I usually measure the amount of httpd threads.

Intuitively, "concurrent users" are the number of users waiting for their requests to be finished at any given time. I believe this number agrees with the httpd _processes_ rather than _threads_, depending on the memory model you use.

Coming back to the original idea of having a central server: It will definitely be simpler to maintain one server rather than one server per school. What I don't like about the idea is the fact that all the schools are in one timezone, in one adminstrative entity. It is likely that all will have end of the year exams in the same week, during the same school hours. So the machine will be subjected to very heavy peak loads, provided that the network can concentrate all that traffice to one single network interface!