I think it could be interesting to have a framework to evaluate moodle installations. Even that each school or university may have different needs it is important to be able to compare different servers and configurations under the same conditions. So I propose to build a set of moodle sites that can be restored, for example from the mysql dump and moodledata directory. The diferent sites differ basically on size (number of courses and users) The benchmark is also defined, it could be done using WAST (a microsoft tool that allows a parallel attack from many clients)
If all of us run the benckmark against our sites, then we could put the results in a wiki so everybody can analyze and compare the results
I began such a wiki with my students... but there is no way to export a wiki to post it here? Some of the pages are:
Benchmarks benchmark configuration
Configurations UPF classrom configuration
UPF_C This the configuration that we used in the Universitat Pompeu Fabra (Barcelona) in a course about Open Source software where we used Moodle as a LMS for the course but also as an Open Source project to work on it. Thus we used the computers in the classrom to do the benckmark.
All the machines used where configured as shown: here
* basic configuration * accelerator * mysql in a diferent computer * Icons and images in a diferent computer * client computers configuration? * Improvements?
.... basic configuration Configuration A single computer, Pentium 4 256MB RAM, that holds Apache 2.0.50 and MySQL, without eAccelerator. The OS is RedHat? Linux 9.
* PHP 4.3.11, cache size of 64MB (default is 8MB). * 2939 hits, 16.31 requests per second. * 4 WAST clients. * INIT level 2 (no GUI).
Apache used, by far (~97%), most of the CPU time, so MySQL is not the main resource hog.
Download and compile eaccelerator
Firstly we modified php.ini to set up the memory usage to 64M. We go to the line of php.ini containing memory_limit and set it to 64M Secondly, we have to tell php to use eaccelerator extension. In order to that, we add to php.ini the following lines:
extension="/tmp/eaccelerator/modules/eaccelerator.so" eaccelerator.shm_size="16" eaccelerator.cache_dir="/tmp/eaccelerator" eaccelerator.enable="1" eaccelerator.optimizer="1" eaccelerator.check_mtime="1" eaccelerator.debug="0" eaccelerator.filter="" eaccelerator.shm_max="0" eaccelerator.shm_ttl="0" eaccelerator.shm_prune_period="0" eaccelerator.shm_Xonly="0" eaccelerator.compress="1" eaccelerator.compress_level="9"
Report name: acc 64m Run on: 06/06/2005 10:38:15 Run length: 00:03:00 Web Application Stress Tool Version:1.1.293.1 Number of test clients: 4 Number of hits: 15099 Requests per Second: 83.89
Clients used in test
192.168.1.5 192.168.1.6 192.168.1.4
After 3 minutes working, wast succesfully obtained more than 15 thousand complete resources with 0 connection errors and an average processor use of 86% in our server.