Date post: | 09-May-2015 |
Category: |
Presentations & Public Speaking |
Upload: | ireland-uk-moodlemoot-2012 |
View: | 136 times |
Download: | 0 times |
Moodle Load TestingPresented by Paul Stevens // 17 April 2014
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
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
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)
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
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 DatabaseSet-up is the Performance Achilles Heal
LoadTesting
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
Find the Bottleneck..
Fix..
Repeat..
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
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..
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..
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
Questions?