Performance testing moodle.org

Jump to: navigation, search

Note: You are currently viewing documentation for Moodle 2.4. Up-to-date documentation for the latest stable version of Moodle may be available here: Performance testing moodle.org.

Moodle.org hardware

The new servers for moodle.org consist of two machines directly linked by a 1Gb VLAN:

Web server

  • 2 x Quad Core Intel Xeon E5405 - 8 cores @ 2Ghz each
  • 2 x 146GB 15k RPM SAS drives in RAID 1 via PERC 6/i controller
  • 8Gb Registered ECC RAM

Database server

  • 1 x Quad Core Intel Xeon E5405 - 4 cores @ 2Ghz each
  • 3 x 146GB 15K RPM SAS drives in RAID 5 via PERC 6/i controller
  • 8Gb Registered ECC RAM

Server tests

Old Server New Servers
Test myisam myisam innodb postgres
slowqueries 1 old-moodle.org-slowtest1.png server10-slowtest1.png server10-slowtest-innodb.png More details (Needs different SQL)
perspective (all caching off)
   * 1402000 function calls
   * 11500 16KB files read from disk (cache)
   * 7900 regular expression replaces over 1KB of text
   * 6000 16KB files written to disk (cache)
   * 4880 get_record calls on the course table
   * 1030 insert_record calls on the course table
   * 240 update_record calls on the course table
   * 1293000 function calls
   * 11400 16KB files read from disk (cache)
   * 8200 regular expression replaces over 1KB of text
   * 6000 16KB files written to disk (cache)
   * 5530 get_record calls on the course table
   * 1590 insert_record calls on the course table
   * 250 update_record calls on the course table
   * 2057000 function calls
   * 14800 16KB files read from disk (cache)
   * 16100 regular expression replaces over 1KB of text
   * 8500 16KB files written to disk (cache)
   * 2730 get_record calls on the course table
   * 2290 insert_record calls on the course table
   * 340 update_record calls on the course table
   * 2045000 function calls
   * 14800 16KB files read from disk (cache)
   * 16200 regular expression replaces over 1KB of text
   * 8700 16KB files written to disk (cache)
   * 2730 get_record calls on the course table
   * 1960 insert_record calls on the course table
   * 340 update_record calls on the course table
   * 2083000 function calls
   * 14500 16KB files read from disk (cache)
   * 16100 regular expression replaces over 1KB of text
   * 9100 16KB files written to disk (cache)
   * 2790 get_record calls on the course table
   * 2010 insert_record calls on the course table
   * 330 update_record calls on the course table
   * 2063000 function calls
   * 14500 16KB files read from disk (cache)
   * 16100 regular expression replaces over 1KB of text
   * 9100 16KB files written to disk (cache)
   * 2790 get_record calls on the course table
   * 2090 insert_record calls on the course table
   * 330 update_record calls on the course table
   * 2071000 function calls
   * 13700 16KB files read from disk (cache)
   * 16000 regular expression replaces over 1KB of text
   * 9200 16KB files written to disk (cache)
   * 1610 get_record calls on the course table
   * 940 insert_record calls on the course table
   * 190 update_record calls on the course table
   * 2092000 function calls
   * 13700 16KB files read from disk (cache)
   * 16100 regular expression replaces over 1KB of text
   * 9200 16KB files written to disk (cache)
   * 1610 get_record calls on the course table
   * 940 insert_record calls on the course table
   * 190 update_record calls on the course table
perspective (all caching on)
   * 1403000 function calls
   * 10000 16KB files read from disk (cache)
   * 8300 regular expression replaces over 1KB of text
   * 5200 16KB files written to disk (cache)
   * 5270 get_record calls on the course table
   * 1390 insert_record calls on the course table
   * 220 update_record calls on the course table
   * 1382000 function calls
   * 11000 16KB files read from disk (cache)
   * 8200 regular expression replaces over 1KB of text
   * 5800 16KB files written to disk (cache)
   * 5640 get_record calls on the course table
   * 2140 insert_record calls on the course table
   * 250 update_record calls on the course table
   * 1997000 function calls
   * 14700 16KB files read from disk (cache)
   * 16100 regular expression replaces over 1KB of text
   * 8800 16KB files written to disk (cache)
   * 19620 get_record calls on the course table
   * 2290 insert_record calls on the course table
   * 340 update_record calls on the course table
   * 2003000 function calls
   * 14700 16KB files read from disk (cache)
   * 16000 regular expression replaces over 1KB of text
   * 8800 16KB files written to disk (cache)
   * 19560 get_record calls on the course table
   * 1830 insert_record calls on the course table
   * 340 update_record calls on the course table
   * 2098000 function calls
   * 14800 16KB files read from disk (cache)
   * 16100 regular expression replaces over 1KB of text
   * 8900 16KB files written to disk (cache)
   * 23170 get_record calls on the course table
   * 2030 insert_record calls on the course table
   * 330 update_record calls on the course table
   * 2132000 function calls
   * 14700 16KB files read from disk (cache)
   * 16000 regular expression replaces over 1KB of text
   * 8800 16KB files written to disk (cache)
   * 23270 get_record calls on the course table
   * 2040 insert_record calls on the course table
   * 330 update_record calls on the course table
   * 2112000 function calls
   * 14500 16KB files read from disk (cache)
   * 16100 regular expression replaces over 1KB of text
   * 9100 16KB files written to disk (cache)
   * 22760 get_record calls on the course table
   * 910 insert_record calls on the course table
   * 190 update_record calls on the course table
   * 2115000 function calls
   * 14700 16KB files read from disk (cache)
   * 16100 regular expression replaces over 1KB of text
   * 9100 16KB files written to disk (cache)
   * 23360 get_record calls on the course table
   * 930 insert_record calls on the course table
   * 190 update_record calls on the course table
LoginView 300 (Jmeter with 300 users, 30 seconds ramp, 90% Line

NA

NA

  • 28.1 s / 29.5 s
  • 0% error
  • 27 s / 31.9 s
  • 0% error
LoginPost 300 (Jmeter with 300 users, 30 seconds ramp, 90% Line)

NA

  • 21.5 s
  • 0.11% error
  • 20.4 s / 27.1 s
  • 0% error
  • 30.6 s / 27.7 s (decreasing with each run)
  • 0% error