Calling Hardware Experts

Hello, we are developing a course that will be taken by around 800 users. We will be hosting Articulate inside Moodle. In the past we have worked with 100-200 users so we have very little idea what sort of hardware will be required to get Moodle and Articulate run smoothly. 

Moodle will be used only to manage the login process and in case the student takes the test, the results will be updated back to the LMS. 

Currently we are looking to go for a dedicated server with the following configuration:

Intel Dual Core Processor E5300

4 GB DDR2

320 GB

Raid 5

1000 GB Bandwidth

Is this configuration good enough? 

Cheers,

Sid.

13 Replies
Phil Mayor

Hi Sid

not sure if you have seen this link? May be worth asking on the moodle.org forums

http://docs.moodle.org/21/en/Performance_FAQ#How_do_you_define_.22concurrent_users.22.3F

The thing we have found is it is difficult to measure concurrent users, which is really what will drain your resources.  We have been asking this question of ourselves a lot recently on April 2nd we will launch over 80 Articulate Studio modules onto our moodle site with a potential of 3,500 users accessing them.

I don,t believe that Studio content puts that much of a load on the system and we have an 8gb server which we have tested with over 400 concurrent users.

Are you running the content from moodle as a scorm?  Is the test in quizmaker or using Moodles Quiz.

Hope this helps a little

Phil

Sid Gordon

Hi Phil, 

Thanks a ton for that link. That explains a lot of things. I have been through the Moodle documentation many times but never came across that article. 

Looks like your case is pretty much similar to ours..albeit you are working with almost 5 times the numbers we expect. I would really appreciate it if you could give us some concrete advice based on our requirements mentioned below. We are a non-profit institution and its really difficult for us to get experts to help us. So the onus lies on us to manage everything from content to deployment

First, let me address your question:

We have two Quizmaker tests with 50 questions each. One at the beginning of the course and one at the end. The rest of the content is absolutely "scorm free". We don't expect everyone to take the test at the same time. Students are free to take the test as and when they like. 

We will be using the Moodle forum for addressing queries from the students but once again we don't expect everyone to pitch in with their queries at the same time. If and when the student faces a problem with the content, she/he can write to us through the forum. 

So basically we are going to use Moodle only for authenticating the users and addressing their queries through the forum. Once the course is open on 1st April (just a day before your course!), we will expect a sizable number of students (300-400) to login and at the least check out the content in Presenter. 

From your experience, what hardware configuration should we aim for? I am sure you can't predict with certainty without simulating the load but am sure you could give us some direction at least. 

Look forward to your response. 

Cheers,

Sid. 

Sid Gordon

Hi Phil, one more query. The Moodle FAQ says: 

The term "concurrent users" is used to mean those users for whom the server is actively doing something . It may by processing a webpage written in PHP, querying the database or simply transferring a file. 

Does that include the content inside Articulate? Our course has several videos (total course size is approximately 500 MB). 

Phil Mayor

As far as I understand it concurrent users would mean they were all accessing the database at the same time for some reason, I have also seen an estimate of 1gb for every 50 users online will ensure a good performance, we are not expecting more than 300-400 users which is why we have gone with 8gb

I believe Studio content is quite light on database access during the course but you might want to check your videos they may cause issues

We are using the feedback block for users to give us feedback along with a glossary set in FAQ mode where we will add common FAQs and update as our users get issues

James Brown

Sid, I'm a relational database tech by trade and I support a client server application that may have up to 200+ users using my system at one time. Let's talk about what you want to do.

First you are going to have server specifications.

Moodle gave a guestimate of 1gb memory per 100 users and 3 to 4 GB of memory should suffice for the end users but you also need memory for the operating system. Based on what you outlined, this may be a good suggestion. The specs below are for a server that would house our relational database but the one thing I want you to notice is the 64bit operating system. You want 64bit because this allows you to expand your ram to the max the server's motherboard will support. My 5 year old 64 bit machine at home supports 16 gig of ram. If you are on Windows (32 bit) os you are really restricted on the amount of memory that will be recognized by the OS (operating system). As anyone will tell you, the more ram you can slap on a server the better and this gives you the capability to upgrade the memory as your course grows without having to replace the sever.

  • Well Known Brand Server (Intel, Dell, HP, etc.)
  • Windows Server 2008 STD (64bit)
  • Dual Capable: Dual-Core Xeon, or Quad/6-Core Xeon Processors 1.8 GHz (or higher)
  • 8GB RAM+ OR Higher depending upon size of Database
  • Three SATA/SAS Drives (one each for OS, Debtmaster Database, and Log File) RAID Suggested
  • 1GB Ethernet Network Interface Card (NIC)
  • DVD-RW
  • 19" Monitor set to 1024x768 resolution or higher
  • UPS Battery Backup

Phil was correct when he talked about concurrent. The term means the number of users accessing the system at the same time.

In regards to the Internet. Since you are placing this on the web, you need to make sure that you have at least a dedicated T1.You might also look into server farms. You may be able to place the information at an offsite and they would basically take care of the servers. You would only have to upload the course content. Of course universities like maintaining control of their servers so this may not work.

Hope that helps.

Phil Mayor

James Brown said:

Sid, I'm a relational database tech by trade and I support a client server application that may have up to 200+ users using my system at one time. Let's talk about what you want to do.

First you are going to have server specifications.

Moodle gave a guestimate of 1gb memory per 100 users and 3 to 4 GB of memory should suffice for the end users but you also need memory for the operating system. Based on what you outlined, this may be a good suggestion. The specs below are for a server that would house our relational database but the one thing I want you to notice is the 64bit operating system. You want 64bit because this allows you to expand your ram to the max the server's motherboard will support. My 5 year old 64 bit machine at home supports 16 gig of ram. If you are on Windows (32 bit) os you are really restricted on the amount of memory that will be recognized by the OS (operating system). As anyone will tell you, the more ram you can slap on a server the better and this gives you the capability to upgrade the memory as your course grows without having to replace the sever.

  • Well Known Brand Server (Intel, Dell, HP, etc.)
  • Windows Server 2008 STD (64bit)
  • Dual Capable: Dual-Core Xeon, or Quad/6-Core Xeon Processors 1.8 GHz (or higher)
  • 8GB RAM+ OR Higher depending upon size of Database
  • Three SATA/SAS Drives (one each for OS, Debtmaster Database, and Log File) RAID Suggested
  • 1GB Ethernet Network Interface Card (NIC)
  • DVD-RW
  • 19" Monitor set to 1024x768 resolution or higher
  • UPS Battery Backup

Phil was correct when he talked about concurrent. The term means the number of users accessing the system at the same time.

In regards to the Internet. Since you are placing this on the web, you need to make sure that you have at least a dedicated T1.You might also look into server farms. You may be able to place the information at an offsite and they would basically take care of the servers. You would only have to upload the course content. Of course universities like maintaining control of their servers so this may not work.

Hope that helps.


Thank James, some really good advice.  We offsite all our sites so it is difficult for me to give advice on what server you need.  Thanks

Phil

Sid Gordon

Hi James, thanks for the detailed reply. That was quite enlightening. What I am really confused about right now is how to manage the whole thing. My course is quite huge and hosting it on a rented server will probably burn a hole in my pocket. I was interested in hosting the course on Amazon so that I pay only for whatever bandwidth is used. The quandary is that I want only authenticated users be able to access the course.. and hence I opted for Moodle. But if I move my content to the cloud, I guess there will be no way of hiding the direct link to the course in Moodle. I was wondering if I should host both Moodle and the course on Amazon EC3. Am really confused at the moment. Will appreciate if if you could advice me on this topic. 

Thanks

Sid.

James Brown

Actually hosting on a data farm is a lot cheaper than what you might expect and you may wish to begin there. As far as restricting course content check out the link below or do a Google search on "Authenticated users." This would allow your webpages only to be accessible to specific authenticated users.  You will see this with universities and corporate websites who wish to restrict web page access to members of a specific domain. The server farm may also be able to aid you there.

http://www.abdn.ac.uk/webpack/factsheet20.shtml

Good luck.