Managing Moodle Performance Testing Paul Stevens

400 views

Published on

Managing Moodle Performance Testing Paul Stevens
Presented at Edinburgh Moodlemoot 2014
www.moodlemoot.ie

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
400
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Managing Moodle Performance Testing Paul Stevens

  1. 1. Moodle Load Testing Presented by Paul Stevens // 17 April 2014
  2. 2. Who am I? ●Originally a Sysadmin ●10 years of Biometrics and Telco Developments ●3.5 Years with Catalyst ●First project was delivering Totara LMS ●Delivered several Moodle Infrastructures from 200 – 2 Million Users ●Now MD of Catalyst's Europe Office
  3. 3. How size do we need our Moodle Infrastructure, how much will it cost? ●What Set-up do we need? ●Need best estimate of: –Number of users –Number of courses –Number of plug-ins/Customisations –Redundancy Requirements –Access Requirements –Number of concurrent users
  4. 4. But what is a Moodle concurrent user? ●Most common contracted measurement - however it has the least clear definition ●What “Concurrent Users” has meant on real projects: –Number of Logged in users at the time –Number of Logged in users over a time period –Users completing a SCORM or specific task –Number of concurrent views according to Google Analytics –Users viewing a page at that second (Page Views)
  5. 5. To size your system 'Concurrent User' requirement must be Defined! ●Decide how you are going to measure it –My Favourite is Page Views ●Do your best to predict –User usage patterns –Type of usage on the system –Guess at load increase –over time ●Devise a best guess peek ●Add a margin of error
  6. 6. Most common ways to implement a Moodle ●Bare Metal Internal infrastructure ●Internal Shared Virtualised infrastructure – VMware or KVM ●Outsourced Infrastructure – Bare Metal or Cloud ●Outsourced Turnkey Solution with a Moodle Partner most set-ups the Moodle Database Set-up is the Performance Achilles Heal
  7. 7. Load Testing
  8. 8. Setting up the load test ●Build your Chosen Environment, preferably with every element ●Tune everything as best you can ●Automate your scripts, so you can repeat many times – we use Jmeter and Bees with Machine guns ●Test from the networks your users use ●Set-up your monitoring ●Record your results and your monitoring
  9. 9. Find the Bottleneck.. Fix.. Repeat..
  10. 10. Setting up the load test ●Build your Chosen Environment, preferably with every element ●Tune everything as best you can ●Automate your scripts, so you can repeat many times – we use Jmeter and Bees with Machine guns ●Test from the networks your users use ●Set-up your monitoring ●Record your results and your monitoring
  11. 11. Ways to tweak to make Moodle to perform better.. ●More hardware ●More bandwidth ●Better code ●A better Software stack ●A better hardware configuration ●Tweaking the Software stack ●And runs tests again..
  12. 12. How to deal with the Political Pressure. ●Are you sure it wont crash and burn? ●We need to Launch tomorrow.. ●Why do you need to spend so much time testing? ●The Definition of 'Concurrent Users' is wrong it should be..
  13. 13. Our Preferred Set-up for Performance ●Ubuntu Linux ●Niginx ●PHP-FPM ●APC ●Postfix for the DB What to look out for: ●Lack of RAM ●Bad disk IO ●Network Latency ●Poorly tuned DB servers ●Lack of PHP accelerator
  14. 14. Questions?

×