Hardware /performance suggestion

Hardware /performance suggestion

by Dorian C -
Number of replies: 13
Hi,

I am planning to install and use Moodle for 500 concurrent users & 8000 users total.
The plan is to keep database & application on one server for now.

Would the below dedicated server be sufficient to handle that load?

Users would not perform quizzes at the same time, it would mostly be based on interactive videos.

Intel® Core™ i7-6700 Quad-Core
incl. Hyper-Threading Technology
RAM:64 GB DDR4
Hard drive:2 x 512 GB NVMe SSD
(software-RAID 1)
Connection:1 GBit/s port
Guaranteed bandwidth:1 GBit/s
Backup space:100 GB
Traffic:Unlimited 

Just want to hear from experienced users if the server can handle Moodle load.
I've read all the Moodle docs regarding this, i am mostly concerned if it stays on the same server with the database if there might be some issues?

Thanks
Average of ratings: -
In reply to Dorian C

Re: Hardware /performance suggestion

by Ken Task -
Picture of Particularly helpful Moodlers

Well, I'll be the first to 'bite' ... and maybe others will jump in here and give their 2 cents/pennies worth ... but first ... please clarify what 'interactive videos' means or will do.   Start a video? ... stop a video? go to any frame within the video?  Will those videos be annontated, etc.?   Will they be served to mobile devices from your moodle server or some streaming service?

The backup space number give ... 100 GB ... that for making true backups of the courses where the videos are uploaded?

'SoS', Ken


In reply to Ken Task

Re: Hardware /performance suggestion

by Dorian C -

Thanks Ken,


Start the video, watch it to the end (2min), answer a question to ackniwledge the video (h5p)...

Videos will generally be 15mb, lower quality.

Thay cannot jump forward in the video.

Videos will be hosted on the moodle server.

In reply to Dorian C

Re: Hardware /performance suggestion

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
As these things go, consider this as a "learned guess". I have never managed a heavy video application like yours.

- No heavily synchronous on-line exams (quizzes) means your CPU and especially RAM are overkill

- Moodle delivers videos straight from the file system, not from the database. So no point in having an additional machine for the database server.

- For the same reason, the SSD is a good idea.

- Your bottleneck will be delivering files through FastCGI or whatever the protocol your web server uses. You haven't mentioned the system software. I assume it is some Unix flavour. You need high performance in this. Experiment with Nginx combined with specialzed protocols.

You haven't mentioned the bandwidth your videos need. Assuming a 4 Mb/s per video, 500 simultanous vidoes mean 2 Gb/s. Even under ideal conditions you have only half of that. Yours is a case for CDN. The video specialists here often speak for hosting videos externally, is a video hosting service.

Ref. https://docs.moodle.org/en/Video and search the forums here for more.
In reply to Visvanath Ratnaweera

Re: Hardware /performance suggestion

by Dorian C -
We will try to keep the videos to 20mb max as they will be like a course range of 10 short 2min videos, one of the plans to maintain the bandwith issues for now, thabks for pointing it out, i completely did not think about it
In reply to Dorian C

Re: Hardware /performance suggestion

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
If the size of a 2 min video is 20 MB (Mega Byte, not milli bit, right?), that gives
20x8/2/60 = 1.33 Mb/s, one third of my initial guess, x500 = 667 Mb/s, which is within your 1 Gb/s.

Please note that this is all theory. My feeling is that delivering the files to the network will be your bottleneck. So specialized video platforms and/or CDN need to come.
In reply to Visvanath Ratnaweera

Re: Hardware /performance suggestion

by Dorian C -
Thank you very much for the advice!
In reply to Dorian C

Re: Hardware /performance suggestion

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
I assumed that you are talking of video files like MPEG 4 - not about SCORM or Flash or other similar "animation" formats.
In reply to Visvanath Ratnaweera

Re: Hardware /performance suggestion

by Dorian C -

Mp4 format, with h5p 


So, if i use cdn only for storing videos, and then embeding them pointing to the cdn link, it might work out quite well?

In reply to Dorian C

Re: Hardware /performance suggestion

by Usman Asar -
Picture of Plugin developers Picture of Testers

MP4 format using what encoder? have you even got a sample of your video to determine the size of 20MB? most of the browsers can support H.265 encoder, if your videos are not movies, keep them in range of 15 fps, this will keep size low and encoding with H.265 will further reduce the size as compared to H.264, with even better quality.

regarding CDN, do you really think you need it? is your site users dispersed around the globe? CDN will only help you when your users are accessing site from different parts of the world and your content is cached on CDN pops near to their locations. you mentioned 500+ users, using CDN makes sense when your site is being accessed by 5000+ users at the same time from different geo locations. else not.  

In reply to Dorian C

Re: Hardware /performance suggestion

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
I thought, I was clear in my opinion in my previous post: Please note that this is all theory. My feeling is that delivering the files to the network will be your bottleneck. So specialized video platforms and/or CDN need to come.
In reply to Dorian C

Re: Hardware /performance suggestion

by Usman Asar -
Picture of Plugin developers Picture of Testers

Software RAID is very unlikely on this Skylake platform. Z270 chipset however supports two NVMe drives and as well comes with 16 PCIe lanes sufficient to accommodate 2 x NVMe drives, BUT the issue is one of the drive's lanes are directly linked to CPU, other is through motherboard chip set (essentially disabling 2 of SATA ports if used as NVMe).

Where your hosting provider mentioned software RAID means they are not using an external RAID card that would fit in place of VGA port giving 16 PCIe lanes (as you wont be using a dedicated GPU for server). Can you ask them to keep both NVMe drives independent (without RAID option)? And keep database and caches on 2nd, this way it can handle the required amount of users, but then comes bottle neck - your CPU! Where you said no quizzes but videos are Interactive, means they are sending data to database, essentially making it a quiz. 4 hyper threaded cores may won't be sufficient for this, but possible depending on how you tuned your DB and web server.

BTW you haven't mentioned which platform you are opting for? Windows or Linux?

In reply to Dorian C

Re: Hardware /performance suggestion

by Dorian C -
Hi all,

Thanks for all who replied, but the initial idea of interactive videos was abandoned as internet connection was not good enough for some of the students.
Just wanted to keep you updated.