We are using:
First, what is the definition of concurrent users ?
Second, what are the hardware requirements that can handle 100 concurrent users?
Thanks in advance.
Since you already have a server, how about providing some information about what you have running?
Operating System (be specific), how hosted (shared/dedicated VPS), memory, total HD space.
Is your Moodle on an all-in-one server ... web interface, DB server, moodledata on one server?
Those will help in attempting to answer question 2. And a question about that ... did your Moodle struggle giving a quiz to 100 users already? Depending upon that answer and the details of your server, it might be that all you need is some tweaking to configuration of DB server and web server.
Concurrent ... is really two fold ... web service configured to handle X connections, and, more importantly, DB server being able to handle X connections from the activity of those X connections to the web service.
At one time there was a 'ballpark' of 'for every 20 users, 1Gig memory' - if one was looking at 100 users - 5 Gig by that but ... if on an all-in-one server, one might find it hard to balance web server connections for 100 users AND 100+ connections to the DB server - the quiz is one of the heaviest activities in Moodle.
Thus, the questions about your current setup comes into play.
'spirit of sharing', Ken
Hello Mr. Ken,
Regarding My 2nd question: How many concurrent users can be handled in my Moodle 3.3 site installed on VPS cloud hosting with the following parameters:
|cPanel||70.0 (build 59)|
I`m requesting your gentle response!
Thanks for info ...
First, the people that have responded have *all* given good advice even though they haven't given you numbers all of them say the pretty much the same thing ... can't really give you numbers. Those to be discovered by you.
Why can't anyone provide numbers? Well, you've said "VPS cloud hosting', for example ... Rackspace isn't the same as Amazon which isn't the same as Google Compute Engines. Case in point, Ubuntu people actually have developed a kernel for Amazon hosted systems. In other words, not all VPS cloud hosting systems are the same.
Do know that NONE start out 'unlimited' .... and are not 'unlimited'.
If you have a test environment spec'd the same as the production server one could use the same moodle version you have and run it under a jmeter test. **Don't run the jmeter testing on your production server.** Setting up a jmeter test in a moodle pretty much thrashes the moodle - too much to clean up after the test.
To sum up what others have said ... and this is really an over simplification ... testing really is two fold (and this is ignoring networking which we all know comes before application)...
1. the apache service. That can be tested with a little tool called 'apache bench' which should come with or can be installed your server. It can test 'static' serving ... which Moodle is not - it's 'dynamic' (simply stated .... php scripts running queries to the DB/DB server and the DB server responding back to the web service, rendering whatever, then shipping to client that requested it.
2. the DB ... On your system ... which is an all in one ... install MySQLTuner. And run it. It will make *recommendations* as to tweaks needed for the DB to perform better. **BUT** the server can't be a fresh install ... it has to be used ... by users ... and in your case, quiz ... for Tuner to provide anything useful.
Obviously, *no one* can give you those tweaks.
Quickie ... site for a school district of 11,000 students and faculty using Moodle ... all in one box ... the first week it was used by students in a F-2-F with teachers, I had to tweak the DB parameters 3 times if I re-call correctly ... and I was monitoring logs in realtime with multitail all day long for that first week.
In an all-in-one, it's a balancing act between apache web service and DB server having enough resources to perform at it's max while also at the same time, operating system being able to perform what it needs to do as well. Plus those things like cron jobs and task ... just for Moodle.
'spirit of sharing', Ken
Now I have a networking question for you ...
These 100 concurrent users taking a quiz at one time .... are they all in a lecture hall connected to the entities wireless network? What IDF (intermediate distribution frame) would that lecture hall connect to? Would assume that all DF's in that network to be on fiber ... but who knows ... might be on cat 6 wire.
IF so, then network becomes a factor. Infrastructure related to the location of the lecture hall and how any computer at that location would connect (path) to the Moodle server. Those computers/devices would be 1 hop away from the Moodle server (I would hope).
In that situation, there is something your networking folks can do to assure the fastest/most reliable connections. But, if these students are accessing the Moodle from different locations ... example, one student at home connected upstream to carrier A and another student at home connected upstream to carrier B.
Carrier A and B not the same. Would take different routes to the Moodle server ... could be as close as 15-20 hops to the Moodle server or max would be 30.
Student A (Carrier A) using an Android tablet ... latest/greatest ... Student B (Carrier B) using Internet Explorer or Edge on Windows. And yet another Student C using an IPad via Carrier C).
In the latter, the Moodle cannot control networking .. neither can your network folks ...
Soooo ... as you can see ... factors ...
'spirit of sharing', Ken
I'm wondering... how can you ask "what does concurrent users mean?" and then ask for hardware specs for 100 concurrent users...
This question is always pretty much impossible to answer because it depends what these users are doing. If you have to ask, the way forward is to run a pilot, get some numbers and then figure it out.
Hello Mr. Howard,
I have Moodle installation for a school with 100 students, and they need to run Moodle inside the classroom. Accordingly, the 100 students will be running the platform in the school at the same time.
Thus, my 1st question was raised in order to note the standard meaning of concurrent user in Moodle platform in order to calculate the required hosting parameters; taking into consideration that, while moving around here, I read two descriptions about this concept:
1)-concurrent users are those interacting with the platform at the same time (instantaneously), and
2)-concurrent users are those interacting with the platform within 5sec timeframe
This is an oversimplification, but... When a client accesses Moodle the web server creates a process and allocates server resources to that connection. How much resources and how long it lives for depends on what the user is doing. But a basic Moodle page takes a certain amount of memory, processor resources and time. If you have multiple users connecting within a small enough time frame then there will be multiple processes all running at the same time. If there are enough processes, you will start running out of some resource and the server will grind to a halt. That's what concurrent users are. It's tricky to measure but not impossible.
I can't guess this for you - nobody can - because we don't know what your 100 students will be doing in the class. The worst case is "start this quiz NOW!". This *could* produce a near 100 concurrency of a resource hungry part of Moodle. If they are just browsing resources then the concurrency will be much less.
It's the difference between a very small server and considerably larger one.
Concurrent users means the number of concurrent processes on the system, which is the number of actions done by the users at any moment PLUS the time for the system to execute these actions. This is a general rule for all systems.
The vendors are always aware of average resources needed for each execution, and the average number of executions that a standard user might handle. Thus, they can roughly say the resources needed for a number of concurrent users. At least this is what Big Vendors inform the clients!
Ok... so what's the answer then?