This forum post has been removed
Number of replies: 27You're a mathematician, right?
I don't know who invented all those formulae, but the one I know is highly unmathematical: Read https://moodle.org/mod/forum/discuss.php?d=313394#p1258026 !
Try your luck with https://docs.moodle.org/29/en/Performance_FAQ. Notice the /29/, if it the version you are going to install (you were looking at /20/).
The forums have been online since moodle existed, good thing you did your research fully before putting question - I honestly admire your efforts.
Now, just to clear your understandings, that 50 user per GB was applicable until Moodle 1.9, it came down to 20 users per GB as Moodle 2.0 stepped in, and even lower now, as mentioned 10-20 user per GB. (I must add, if other considerations are to be made, like use of SSD Drives now in servers, then they can come up to a more realistic figure allocating higher number of users per GB)
Now this figure 10 - 20 is really dependent upon what your users will be doing, the lowest figure of 10 is for high database I/O's activities (Like Chat, Quizzes) and upper limit of 20 for (Logged in users browsing site, downloading files, posting on forums etc etc), the figurue of 50 per GB may still can stand true if you have opened your Moodle for guests and they dont have to authenticate themselves to use the site.
now, assume you have users that do mix of activities (Like taking quizzes, posting on forums), then a good figure for you to consider would be 15 user per GB (median for 10-20).
BUT, that allocation of Memory is purely based on one factor, i.e: no other alteration is done to the server, means you are using 1 SATA drive with mechanical spindle, so you are actually effecting the drive's throughput there, so if you have a good overall system configured (Like RAID, and SSD Drives, and Database on separate server/drive), then you can even allocate 30 users per GB taking quizzes without bringing down your server to its knees.
Hi Usman,
I'd love to know where these numbers really came from as they seem absolutely nuts - 10-20 users per GB!? What is this based upon?
In my honest opinion, those numbers are bogus and likely based on a single person's infrastructure and will likely not be relevant to most out there.
The hardware requirements are based upon a whole range of things, including (but not limited to):
- expected workload (quantity of quiz vs. forum vs. resource vs. scorm vs. etc.)
- expected shape of workload (all between 9am and 5pm, or spread throughout the 24 hour day?)
- server OS
- database server
- database tuning
- web server
- load balancer present?
- additional cache infrastructure
- disk types, counts, speeds, bus type + speed
- network infrastructure (100Mb vs. 1Gb vs. 10Gb)
- age of server + components (5 yr old Sandy Bridge vs. Skylake for example)
- infrastructure design (3-tier vs. single stack vs. ???)
We simply cannot advise that you will need 50-100MB per user on your server.
In order to determine your loading capacity, you need to perform benchmarks, analyse the bottlenecks in your build, improve, etc.
You've also got to determine what you mean by '3,000 approx max browsing user'. Is that 3,000 simultaneous, or 3,000 unique users accessing the site at some point during a 7 day period? They are very different definitions.
Andrew
I'd love to know where these numbers really came from as they seem absolutely nuts - 10-20 users per GB!? What is this based upon?
If you would have started reading from top, its not just me mentioning this but Gio too. regarding your query where these figures came from? here is the link, you'll find the general rule of the thumb with 10-20 users figure in hardware section, attaching screen shot as well (highlighted part), so these numbers come from Moodle's own documentation.
Link to documentation: https://docs.moodle.org/29/en/Installing_Moodle
and screen shot highlighting
Regarding other things you mentioned (I have no doubts about their invalidity), I have mentioned in my last paragraph, that this figure (10-20 users) is based on simple server setup using one drive. While Gio is only concerned about the Memory (as mentioned in his post using formula) that is why I didn't mention anything extra other than what he really wanted to know.
https://docs.moodle.org/29/en/Installing_Moodle#Hardware
'du -sh moodle29/' gave mit 502 MB!
That would be a site cloned from Git I expect...
From a user's point of view, the Moodle (2.9) directory is 502 MB, assuming he wants to move forward. (Some are holding breath till 10. November, I imagine.)
Clearly that statement about disk space is ridiculous. I'll change it to "something bigger"
It's usually safe to say "you'll need a bigger disk". Nice idea about the case studies Andrew.
I also said, "just buy loads of memory". That's a metric "loads" by the way
And a massive SSD, and has anyone tried putting it all in a Beowulf cluster. I'll get me coat.
Usman,
You mis-interpret me - my apologies. I'm not asking where in the Moodle docs it came from, but where did it come from to make it into the Moodle docs in the first place. It's likely based on the experience of one person who commented at some point that, with their setup, these were the hardware guidelines they decided to use.
I believe that this spurious, oft-quoted, figure has now been removed from some of the documentation.
What would be more helpful in my opinion is if people were to create case-study pages detailing the setup that they use, complete with an idea of the number of users on their system, some notes on the typical workload, and their thoughts (both positive and negative).
Andrew
It might not be a perfect metric but it is nice to have some place to start. We will never be able to get specific enough for every set up but giving out a rough estimate is not a terrible idea.
I think most people understand that the 10-20 users per GB is not the be all end all and in fact 10-20 in itself indicates a lot of variance right there.
The documentation section is a wiki - if you don't like it - write something better! A page of case studies might be a great place to start - people could simply post their set ups and performance tests and that would be really helpful for new admins coming in. I would keep it simple and maybe create a "template" of how each person should enter their data.
Perhaps Andrew could start us off!
Thanks Emma,
Once we've rolled 3.0 and I have a bit of spare time, I'll see what I can put together.
I currently don't run any live Moodle sites (unless you count MoodleCloud), but I've run a few pretty large systems which I've posted, and blogged about a fair amount.
Andrew
Andrew, honestly no hard feelings here, as I still remember smiling when I was typing the post thinking that no one actually revised the documentation apart from memory since the start. I should be one apologizing if I made you feel like I have misinterpreted your reply - I haven't that time, still now have no disagreement on your post as It's reflecting whatever I wanted to write, but of course you wrote in explanatory terms.
It depends what you mean by "the start". I completely re-wrote all the installation documentation some time ago. It was *really* dreadful before
I had to say something about server requirements - "what do I need to run Moodle", is hardly an unreasonable question and it is inevitable that a lot of users will not be server administrators however much we wish they were. It does look a little sad now, but then again we still encounter users trying to run Moodle on extremely minimal VMs.
Then its time to add an additional segment, while renaming current as "Required Hardware" and adding "Recommended Hardware", as unlike computer based application where there will be one-one interaction between application and user, web based application are more dependent on numbers of users accessing it so a flexibility in terms of what hardware is required to run the application and what will be required to support "n" number of users.
As far as minimum recommendation is concerned, where its mentioned 2-core CPU, I have comfortably ran on 1-core/1GB RAM even with Windows Server GUI on top with performance surpassing the shared host's allocation of resources.
What I don't want to happen is for the installation instructions to become much longer. A link to a new page with more information about server sizing is appropriate but we still need to consider if that could be confused with the Performance pages.
Keeping the installation instructions reasonably short and direct is pretty important IMO.
"Most" users won't be building big, load-balanced instances (for example). For most people even talking about things like "concurrent users" is a pointless exercise.
The CPU requirement is even harder to answer that the amount of memory.
Apart from all that, during the first installation rarely anybody thinks of performance backlash!
[/rant] The fundamental problem is people don't read. Reminding them of the documentation, giving links, runs into a void, since other PHMs jump in and type all those anew in to the forum.
If you haven't noticed, you are looking at an example!
Look how long and convoluted the answer is: https://docs.moodle.org/en/Performance_FAQ#What_hardware_should_I_buy_for_.27n.27_concurrent_users.3F
N.B. You saw the smliey, right?
It was me!!
They are no more than an educated guess based on looking at the performance on some real sites and applying some pessimism.
I know they are bogus, but you have to give people a place to start because they won't stop asking.
To be even more blunt, people who turn up here and ask something like, "I am creating a site for 500,000 users all taking a quiz at the same time" are clearly insane. Yet, still they come.
I have been reading about this for so long, I knew those numbers could be traced back to you Howard
If these beeeelion user sites are real, and assuming they are not registering them at Moodle HQ. We are dealing with the most used software on the planet (Dr Evil style little finger in corner of mouth)
Thanks Howard,
Note: I wasn't trying to pick upon you - hope you didn't take any offence.
The issue I have with this figure is that people are basing their hardware requirements on it, and then going out and spending vast sums of money without doing proper requirements analysis. It's being seen as the gospel for Moodle hardware requirements rather than advice.
One of the other contributors to this forum has been running Moodle on his Raspberry Pi as an experiment to prove that you can get by with relatively few hardware requirements. He's been posting on the site about the setup, including configuration + hardware details. I'm not sure what his concurrency is like (probably relatively low), but it is possible.
Andrew
I have found the go to answer of 'MOAR RAM' is often just wrong (in the moodle software stack) and often I see sites bound by I/O or CPU, often due to an 'out the box' configuration, rather than memory/swapping.
Unless your server is already swapping chances are it's not going to do anything with that extra memory (other than maybe some file caching) unless you configure something to use it, e.g. can it now handle more HTTPd clients or allow your database keep more/bigger tables in memory or maybe keep more data in memcached? All of these will need configuration changes to benefit.
If you are adding RAM, make sure you know why you are doing it and what part of the stack needs it as well as how to configure it to make best use of it. Otherwise you are just wasting money.