I need a Moodle that will have an average of X concurrent users, what server are we going to use? How long is it going to last?

Home / e-learning / I need a Moodle that will have an average of X concurrent users, what server are we going to use? How long is it going to last?

I have to face the issue commented on the title every single day in my work and it is everything but easy. If I fall short, the server will no longer work and, if I do it the other way round, we will have to pay a lot of money.

It is very difficult to estimate what requirements are needed, either related to the hardware of the machine or to the bandwidth, because we must contextualize the uses of our server in advance. Sometimes it is impossible to know it, I know, but then “divide and rule” becomes my strategy. We have good monitoring systems of every service we provide. This gives us an overview of what we are going to need to enlarge the bandwidth and the hardware of the machine.

FactorSim works often with regard to the implementation of Moodle as an education system for companies and when customers start from scratch and do not know what to begin with, we have to do an estimated study based on the data about the average amount of users and logins the customer gives us.

If we use the official documentation of Moodle we will find a first approximation that happens to be a pretty good one:


The general rule of thumb for a single server is that the approx max concurrent users = RAM (GB) * 50 and the approx max browsing users = Approx max concurrent users * 5. As an example, a university with 500 total computers on campus and 100 concurrent users at any time will need approx 2GB of RAM on the one server to support the number of concurrent users.

So, we need around 1 GB RAM every 50 concurrent users. A very useful tool –that we already have– that provides us with essential information is also required.



We can easily obtain the following through a bash command line:

ab -n 100 -c 10 http://campus.factorsim.es/


With this command, we are generating 100 requests divided in 10 threads of apache execution.

As can be seen, it provides very useful information:

  • Total of transferred bytes
  • Number of requests we attend every second (almost 11 requests per second, wow!)
  • Average time spent for request
  • Transfer speed (we receive Kbytes/second)
  • The 50 % of requests were served in less than a second!

Last but not least, ApacheBench is a free software and it is distributed under Apache license.


Original source: http://www.factorsim.info/2012/04/16/necesito-un-moodle-que-tendra-x-usuarios-concurrentes-de-media-que-servidor-ponemos-aguantara/


Dejar un comentario


2 × 3 =


Puedes enviarnos un mensaje si tienes quejas o quieres felicitarnos, o para contarnos algo, te responderemos :D