Performance FAQ: Difference between revisions
m (not a stub) |
No edit summary |
||
Line 1: | Line 1: | ||
===How do you define "concurrent users"?=== | ===How do you define "concurrent users"?=== | ||
As has been repeatedly stressed in the [http://moodle.org/mod/forum/view.php?f=94 Hardware and performance] forum, the load on the server depends | As has been repeatedly stressed in the [http://moodle.org/mod/forum/view.php?f=94 Hardware and performance] forum, the load on the server at a particular time depends on the number of concurrent users, not on the total number of users neither on the number of users logged-in. The term "concurrent users" is used to mean those users for whom the server is actively doing something . It may by processing a webpage written in PHP, querying the database or simply transferring a file. (see also Wikipedia [http://en.wikipedia.org/wiki/Concurrency_(computer_science) Concurrency]) | ||
===How do I benchmark a Moodle-site?=== | ===How do I benchmark a Moodle-site?=== | ||
You can of course benchmark | You can of course benchmark parts of the system separately: hardware as seen by the operating system (eg. disk access speed), web server performance, database server performance, execution of PHP, etc. For further information see [[Performance#Obtain_a_baseline_benchmark]]. | ||
There is a PHP-script, the [http://moodle.org/mod/forum/discuss.php?d=57028 Performance perspectives - a little script], circulating amoung the Moodle-community which calculates a ballpark figure. The current version is attached to | |||
But there is no easy formula to deduct the maximum number of concurrent users from those results. There is a PHP-script, the [http://moodle.org/mod/forum/discuss.php?d=57028 Performance perspectives - a little script], circulating amoung the Moodle-community which calculates a ballpark figure. The current version is attached to [http://moodle.org/mod/forum/discuss.php?d=57028#p296907 the posting on 1. March 2007]. | |||
Warning: Note that running this script on a production server may have unwanted side-effects. You are strongly adviced to run it on a test-site. | Warning: Note that running this script on a production server may have unwanted side-effects. You are strongly adviced to run it on a test-site. | ||
===What are PHP-accelerators?=== | ===What are PHP-accelerators?=== | ||
See Wikipedia | See Wikipedia [http://en.wikipedia.org/wiki/PHP_accelerator PHP accelerator]. | ||
Available software are documented [[Performance#PHP_performance]]. | Available software are documented under [[Performance#PHP_performance]]. | ||
You find some user suggestions here [http://moodle.org/mod/forum/discuss.php?d=168965 Update on PHP-accelerators]. | |||
===How do I cluster Moodle?=== | ===How do I cluster Moodle?=== | ||
See [[Performance#Scalability]] | See [[Performance#Scalability]] | ||
[[Moodle_Clusters]] | |||
===How do I replicate Moodle?=== | ===How do I replicate Moodle?=== | ||
[[Mirroring_Moodle]] | |||
Line 32: | Line 38: | ||
* bug in Moodle | * bug in Moodle | ||
* corrupted database | * corrupted database | ||
* networking issues (DNS, firewalls, ...) | |||
Or your performance could be "normal" under the given circumstances: | Or your performance could be "normal" under the given circumstances: | ||
* | * Are you on a dedicated server or a shared (virtual) server? | ||
* How much RAM, processing power do you have? | * 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, ...?) | * What is the software stack you use? (Unix or Windows, Apache or IIS, MySQL, PostgreSQL or SQL-Server, ...?) | ||
* how many concurrent users | * how many concurrent users can you support | ||
* what modules/activities | * what modules/activities you use? Check [[Performance#Performance of different Moodle modules]] | ||
[[Performance#Obtain a baseline benchmark]] and compare it with the published figures. | [[Performance#Obtain a baseline benchmark]] and compare it with the published figures. |
Revision as of 09:42, 25 April 2011
How do you define "concurrent users"?
As has been repeatedly stressed in the Hardware and performance forum, the load on the server at a particular time depends on the number of concurrent users, not on the total number of users neither on the number of users logged-in. The term "concurrent users" is used to mean those users for whom the server is actively doing something . It may by processing a webpage written in PHP, querying the database or simply transferring a file. (see also Wikipedia Concurrency)
How do I benchmark a Moodle-site?
You can of course benchmark parts of the system separately: hardware as seen by the operating system (eg. disk access speed), web server performance, database server performance, execution of PHP, etc. For further information see Performance#Obtain_a_baseline_benchmark.
But there is no easy formula to deduct the maximum number of concurrent users from those results. There is a PHP-script, the Performance perspectives - a little script, circulating amoung the Moodle-community which calculates a ballpark figure. The current version is attached to the posting on 1. March 2007.
Warning: Note that running this script on a production server may have unwanted side-effects. You are strongly adviced to run it on a test-site.
What are PHP-accelerators?
See Wikipedia PHP accelerator.
Available software are documented under Performance#PHP_performance.
You find some user suggestions here Update on PHP-accelerators.
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
- networking issues (DNS, firewalls, ...)
Or your performance could be "normal" under the given circumstances:
- Are you on a dedicated server or a shared (virtual) 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 can you support
- what modules/activities you use? Check Performance#Performance of different Moodle modules
Performance#Obtain a baseline benchmark and compare it with the published figures.
What are the requirements for N users?
A moodle setup for 10K simultaneous users
How many users will my installation support?
This is another way of asking the same question as above. Please move up.
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?
http://moodle.org/mod/forum/discuss.php?d=99405
See also
Moodle Docs
Forum discussions