Note: You are currently viewing documentation for Moodle 2.3. Up-to-date documentation for the latest stable version is available here: Performance FAQ.

Performance FAQ

From MoodleDocs


How do you define "concurrent users"?

As has been repeatedly stressed in the forum [0], the load on the server depends primarily on the number of concurrent users, not on the total number of users neither the number of users logged-in at a given time. In this context, the concurrent users are those for whom the server actively doing something [1]. It may by processing a webpage written in PHP, processing a database querry or simply transfering a file.


[0] Using Moodle Hardware and Performance forum

[1] http://en.wikipedia.org/wiki/Concurrency_(computer_science)

How do I benchmark a Moodle-site?

You can ofcourse benchmark each component of the software stack, starting from the operating system upto the database https://docs.moodle.org/en/Performance#Obtain_a_baseline_benchmark . But there is no easy formula to deduct the maximum number of concurrent users from those data.

There is a PHP-script [2] circulating amoung the Moodle-community which calculates a ballpark figure. Take the current version from 1. March 2007 posted here [3]. Please note running this script on a production server may have side-effects, you are strongly adviced to run it on a test-site.

[2] http://moodle.org/mod/forum/discuss.php?d=57028

[3] http://moodle.org/mod/forum/discuss.php?d=57028#p296907

What are PHP-accelerators?

For the definition see Wikipedia [4]. Read the Performance documentation [5] for possible software.

[4] http://en.wikipedia.org/wiki/PHP_accelerator

[5] https://docs.moodle.org/en/Performance#PHP_performance

How do I cluster Moodle?

How do I replicate Moodle?

My site is very slow, what should I do?

First find out "how slow". (The theme-trick here).

The next question is, whether the performance is normal or something malfunctions. There are many things which can malfunction:

  • hardware
  • crashed filesystems, specially network filesystems
  • memory leaks or other crashes in the system
  • bug in Moodle
  • corrupted database

Or your performance could be "normal" under the given circumstances:

  • Is it a root-server, dedicated server, virtual (shared) server
  • How much RAM, processing power do you have?
  • What is the software stack you use? (Unix or Windows, Apache or IIS, MySQL, PostgreSQL or SQL-Server, ...?)
  • how many concurrent users slows the system down
  • what modules/activities they use? Check Performance of different Moodle modules
  • is your networt setup property? DNS, firewalls. Also check local firewalls and other local security tools?

Obtain a baseline benchmark and compare it with the published figures.

What hardware is needed for N users?

A moodle setup for 10K simultaneous users

How many users will my installation support?

Which operating system is the best?

What is the best webserver?

Should I go for 64 bit or is 32 bit OK?

What hosting provider do you recommend?