SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
Moodle Performance and
Scalability Assurance
Jonathan Moore
Analysing Usage
●We size for the highest peak
●Describe the peak scenario
●How many users?
●How short of interval?
●What are they doing?
●How much growth is expected?
The mdl_log
●A wealth of information
●Many sites have > year of data
●Determine concurrency
●Determine % of activity types
●Visualize historical usage
Optimizing Performance
●Use a PHP accelerator
●Balance your memory budget
●Make InnoDB buffer pool same size as DB (see
mysqltuner.pl)
●Most sensitive to slow disks
–Sessions
–Moodle source
–Moodle database
Some General Sizing Guidelines
●~25-30 MB per apache client /w accelerator
●~200-250 logged in users per core
●~4-6 x more resources for a user's first minute
●~10 logged in users supportable per apache child
●DB generally 1/10 size of Moodledata folder
●5-10% of population is common peak for
concurrency
JMeter Benchmarking
●Simulates simultaneous user activity
●Gathers response and throughput results
●Not a browser can't test javascript
●Can use to measure +/- of changes
●Can use to estimate expected concurrency, but
harder
What to Use for Testing?
●Copy of production for test site
–+Harder for server to cache
–-More likely errors in results due to broken
content
–-Have to reset user passwords
●Synthetic test site
–+Can use known good content less false errors
–-Takes a lot of time and effort to prepare
–-Smaller DB = easier server caching
Testing Changes
–Single test user and course may work well
–More accurate the test rig less likely to miss
problem
–Run same test between changes
–If results degrade don't move forward with
change without careful review
Measuring Concurrent Capacity
●Test users, enrolment, and course population
should be on par with production site
●Test set mix should reflect activity % of production
site
●Calculate
–Simultaneous logged in user count
–Simultaneous logging in users count
–They are different
–Know what you need for each
Moodle 2.6 and JMeter
●New integration available
●Creates test plan with many activity types
●Provides comparison reports
●Only single user / single course test?
Tools
●jMeter
●SQL queries + mdl_log
●PHP Accelerator
●Cacti, munin, nagios, etc
●CLI: top, sar, innotop, mysqltuner.pl etc
Questions?
●jonathan@elearningconsultancy.com
●Twitter: @moorejon
●Skype: moorejon07

Más contenido relacionado

La actualidad más candente

Php & web server performace
Php & web server performacePhp & web server performace
Php & web server performace
Tuyển Đoàn
 
02 vng thanhnt-speedup_ntvv2_by_ph_pextmodule_
02 vng thanhnt-speedup_ntvv2_by_ph_pextmodule_02 vng thanhnt-speedup_ntvv2_by_ph_pextmodule_
02 vng thanhnt-speedup_ntvv2_by_ph_pextmodule_
Nguyen Duc Phu
 
Webinar slides: Become a MongoDB DBA - What to Monitor (if you’re really a My...
Webinar slides: Become a MongoDB DBA - What to Monitor (if you’re really a My...Webinar slides: Become a MongoDB DBA - What to Monitor (if you’re really a My...
Webinar slides: Become a MongoDB DBA - What to Monitor (if you’re really a My...
Severalnines
 

La actualidad más candente (20)

Scaling Islandora
Scaling IslandoraScaling Islandora
Scaling Islandora
 
2013 - Brian Stanley - Memcached, Cached all the things
2013 - Brian Stanley - Memcached, Cached all the things2013 - Brian Stanley - Memcached, Cached all the things
2013 - Brian Stanley - Memcached, Cached all the things
 
Mateusz Gruszczynski - Performance tests in Gatling (Quality Questions Confer...
Mateusz Gruszczynski - Performance tests in Gatling (Quality Questions Confer...Mateusz Gruszczynski - Performance tests in Gatling (Quality Questions Confer...
Mateusz Gruszczynski - Performance tests in Gatling (Quality Questions Confer...
 
Concept of flexible open api server with node.js
Concept of  flexible open api server with node.jsConcept of  flexible open api server with node.js
Concept of flexible open api server with node.js
 
Draft slide of Demystifying DHT in GlusterFS
Draft slide of Demystifying DHT in GlusterFSDraft slide of Demystifying DHT in GlusterFS
Draft slide of Demystifying DHT in GlusterFS
 
Intro Couchdb
Intro CouchdbIntro Couchdb
Intro Couchdb
 
Active Data Stores at 30,000ft
Active Data Stores at 30,000ftActive Data Stores at 30,000ft
Active Data Stores at 30,000ft
 
Scaling Up with PHP and AWS
Scaling Up with PHP and AWSScaling Up with PHP and AWS
Scaling Up with PHP and AWS
 
Php & web server performace
Php & web server performacePhp & web server performace
Php & web server performace
 
Caching idea for midcom
Caching idea for midcomCaching idea for midcom
Caching idea for midcom
 
Stream or segment : what is the best way to access your events in Pulsar_Neng
Stream or segment : what is the best way to access your events in Pulsar_NengStream or segment : what is the best way to access your events in Pulsar_Neng
Stream or segment : what is the best way to access your events in Pulsar_Neng
 
02 vng thanhnt-speedup_ntvv2_by_ph_pextmodule_
02 vng thanhnt-speedup_ntvv2_by_ph_pextmodule_02 vng thanhnt-speedup_ntvv2_by_ph_pextmodule_
02 vng thanhnt-speedup_ntvv2_by_ph_pextmodule_
 
Webinar slides: Become a MongoDB DBA - What to Monitor (if you’re really a My...
Webinar slides: Become a MongoDB DBA - What to Monitor (if you’re really a My...Webinar slides: Become a MongoDB DBA - What to Monitor (if you’re really a My...
Webinar slides: Become a MongoDB DBA - What to Monitor (if you’re really a My...
 
Monitoring with Clickhouse
Monitoring with ClickhouseMonitoring with Clickhouse
Monitoring with Clickhouse
 
Cache hcm-topdev
Cache hcm-topdevCache hcm-topdev
Cache hcm-topdev
 
Caching in drupal
Caching in drupalCaching in drupal
Caching in drupal
 
MongoDB for the SQL Server
MongoDB for the SQL ServerMongoDB for the SQL Server
MongoDB for the SQL Server
 
Prometheus lightning talk (Devops Dublin March 2015)
Prometheus lightning talk (Devops Dublin March 2015)Prometheus lightning talk (Devops Dublin March 2015)
Prometheus lightning talk (Devops Dublin March 2015)
 
Web performance optimization - MercadoLibre
Web performance optimization - MercadoLibreWeb performance optimization - MercadoLibre
Web performance optimization - MercadoLibre
 
Solving Multi-tenancy and G1GC in Apache HBase
Solving Multi-tenancy and G1GC in Apache HBase Solving Multi-tenancy and G1GC in Apache HBase
Solving Multi-tenancy and G1GC in Apache HBase
 

Destacado (9)

Willis Parent Powerpoint
Willis Parent PowerpointWillis Parent Powerpoint
Willis Parent Powerpoint
 
Massage therapy (2)
Massage therapy (2)Massage therapy (2)
Massage therapy (2)
 
Lymphatic Drainage Massage Dublin | Sport Injury Massage Dublin | Therap-Eaze
Lymphatic Drainage Massage Dublin | Sport Injury Massage Dublin | Therap-EazeLymphatic Drainage Massage Dublin | Sport Injury Massage Dublin | Therap-Eaze
Lymphatic Drainage Massage Dublin | Sport Injury Massage Dublin | Therap-Eaze
 
Massage Training VESC_FINAL
Massage Training VESC_FINALMassage Training VESC_FINAL
Massage Training VESC_FINAL
 
The Chi Nei Tsang Credo
The Chi Nei Tsang CredoThe Chi Nei Tsang Credo
The Chi Nei Tsang Credo
 
EFT Level I Practioner Training
EFT Level I Practioner TrainingEFT Level I Practioner Training
EFT Level I Practioner Training
 
Types of massages
Types of massagesTypes of massages
Types of massages
 
Massage power point
Massage power pointMassage power point
Massage power point
 
Judy Willis MCDS Faculty Presentation
Judy Willis MCDS Faculty PresentationJudy Willis MCDS Faculty Presentation
Judy Willis MCDS Faculty Presentation
 

Similar a Moodle performance testing presentation - Jonathon Moore

Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)
Per Henrik Lausten
 

Similar a Moodle performance testing presentation - Jonathon Moore (20)

Best Practices In Moodle Administration
Best Practices In Moodle AdministrationBest Practices In Moodle Administration
Best Practices In Moodle Administration
 
Moodle performance optimizations
Moodle performance optimizationsMoodle performance optimizations
Moodle performance optimizations
 
Best practices in Moodle administration Monatana Moot 2014
Best practices in Moodle administration Monatana Moot 2014Best practices in Moodle administration Monatana Moot 2014
Best practices in Moodle administration Monatana Moot 2014
 
Capacity Planning For Your Growing MongoDB Cluster
Capacity Planning For Your Growing MongoDB ClusterCapacity Planning For Your Growing MongoDB Cluster
Capacity Planning For Your Growing MongoDB Cluster
 
Capacityplanning
Capacityplanning Capacityplanning
Capacityplanning
 
Evolution of DBA in the Cloud Era
 Evolution of DBA in the Cloud Era Evolution of DBA in the Cloud Era
Evolution of DBA in the Cloud Era
 
Webinar: Capacity Planning
Webinar: Capacity PlanningWebinar: Capacity Planning
Webinar: Capacity Planning
 
#OSSPARIS19 - How to improve database observability - CHARLES JUDITH, Criteo
#OSSPARIS19 - How to improve database observability - CHARLES JUDITH, Criteo#OSSPARIS19 - How to improve database observability - CHARLES JUDITH, Criteo
#OSSPARIS19 - How to improve database observability - CHARLES JUDITH, Criteo
 
071410 sun a_1515_feldman_stephen
071410 sun a_1515_feldman_stephen071410 sun a_1515_feldman_stephen
071410 sun a_1515_feldman_stephen
 
Managing Moodle Performance Testing Paul Stevens
Managing Moodle Performance Testing 	Paul StevensManaging Moodle Performance Testing 	Paul Stevens
Managing Moodle Performance Testing Paul Stevens
 
Sql server tips from the field
Sql server tips from the fieldSql server tips from the field
Sql server tips from the field
 
OSMC 2019 | How to improve database Observability by Charles Judith
OSMC 2019 | How to improve database Observability by Charles JudithOSMC 2019 | How to improve database Observability by Charles Judith
OSMC 2019 | How to improve database Observability by Charles Judith
 
Ireland Moot 2013 Admin Workshop Afternoon Session
Ireland Moot 2013 Admin Workshop Afternoon SessionIreland Moot 2013 Admin Workshop Afternoon Session
Ireland Moot 2013 Admin Workshop Afternoon Session
 
MongoDB Capacity Planning
MongoDB Capacity PlanningMongoDB Capacity Planning
MongoDB Capacity Planning
 
Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)
 
Web performance mercadolibre - ECI 2013
Web performance   mercadolibre - ECI 2013Web performance   mercadolibre - ECI 2013
Web performance mercadolibre - ECI 2013
 
Extending Moodle Reporting
Extending Moodle ReportingExtending Moodle Reporting
Extending Moodle Reporting
 
(ATS6-PLAT06) Maximizing AEP Performance
(ATS6-PLAT06) Maximizing AEP Performance(ATS6-PLAT06) Maximizing AEP Performance
(ATS6-PLAT06) Maximizing AEP Performance
 
Silverstripe at scale - design & architecture for silverstripe applications
Silverstripe at scale - design & architecture for silverstripe applicationsSilverstripe at scale - design & architecture for silverstripe applications
Silverstripe at scale - design & architecture for silverstripe applications
 
AutoDOPandRest
AutoDOPandRestAutoDOPandRest
AutoDOPandRest
 

Más de Ireland & UK Moodlemoot 2012

Más de Ireland & UK Moodlemoot 2012 (20)

Transforming a learning curriculum Gideon Williams
Transforming a learning curriculum 	Gideon WilliamsTransforming a learning curriculum 	Gideon Williams
Transforming a learning curriculum Gideon Williams
 
Demistifying Databases: Making the most of the Database Activity Dan Jeffries
Demistifying Databases: Making the most of the Database Activity 	Dan JeffriesDemistifying Databases: Making the most of the Database Activity 	Dan Jeffries
Demistifying Databases: Making the most of the Database Activity Dan Jeffries
 
Customising Moodle with Course Formats Alex Walker
Customising Moodle with Course Formats 	Alex WalkerCustomising Moodle with Course Formats 	Alex Walker
Customising Moodle with Course Formats Alex Walker
 
Designing Active Learning in Moodle – a preview of the Learning Designer tool...
Designing Active Learning in Moodle – a preview of the Learning Designer tool...Designing Active Learning in Moodle – a preview of the Learning Designer tool...
Designing Active Learning in Moodle – a preview of the Learning Designer tool...
 
Enhancing the My home page to display news forum postings and more John Tut...
Enhancing the My home page to display news forum postings and more  	John Tut...Enhancing the My home page to display news forum postings and more  	John Tut...
Enhancing the My home page to display news forum postings and more John Tut...
 
Broadening the scope of a Maths module for student Technology teachers Sue Mi...
Broadening the scope of a Maths module for student Technology teachers	Sue Mi...Broadening the scope of a Maths module for student Technology teachers	Sue Mi...
Broadening the scope of a Maths module for student Technology teachers Sue Mi...
 
A proposal for integrating Serious Games made with Unity3D into Moodle course...
A proposal for integrating Serious Games made with Unity3D into Moodle course...A proposal for integrating Serious Games made with Unity3D into Moodle course...
A proposal for integrating Serious Games made with Unity3D into Moodle course...
 
Using Moodle to familiarise prospective students with HE level learning Carol...
Using Moodle to familiarise prospective students with HE level learning	Carol...Using Moodle to familiarise prospective students with HE level learning	Carol...
Using Moodle to familiarise prospective students with HE level learning Carol...
 
The Moodle Gradebook as a tool inducing regular revisions in students' learni...
The Moodle Gradebook as a tool inducing regular revisions in students' learni...The Moodle Gradebook as a tool inducing regular revisions in students' learni...
The Moodle Gradebook as a tool inducing regular revisions in students' learni...
 
Using the Moodle Quiz for Formative and Summative Assessment: Safe Exam Brows...
Using the Moodle Quiz for Formative and Summative Assessment: Safe Exam Brows...Using the Moodle Quiz for Formative and Summative Assessment: Safe Exam Brows...
Using the Moodle Quiz for Formative and Summative Assessment: Safe Exam Brows...
 
Delivering online exams using Moodle Tim Hunt, Mahmoud Kassaei
Delivering online exams using Moodle	Tim Hunt, Mahmoud KassaeiDelivering online exams using Moodle	Tim Hunt, Mahmoud Kassaei
Delivering online exams using Moodle Tim Hunt, Mahmoud Kassaei
 
Improving Edit quiz page Mahmoud Kassaei
Improving Edit quiz page 	Mahmoud KassaeiImproving Edit quiz page 	Mahmoud Kassaei
Improving Edit quiz page Mahmoud Kassaei
 
Surveys made easy with Moodle Mark Glynn, Gavin Henrick
Surveys made easy with Moodle	Mark Glynn, Gavin HenrickSurveys made easy with Moodle	Mark Glynn, Gavin Henrick
Surveys made easy with Moodle Mark Glynn, Gavin Henrick
 
Assessment Models Using Moodle Activities Phil Danby, Emily Webb, Chris Meadows
Assessment Models Using Moodle Activities	Phil Danby, Emily Webb, Chris MeadowsAssessment Models Using Moodle Activities	Phil Danby, Emily Webb, Chris Meadows
Assessment Models Using Moodle Activities Phil Danby, Emily Webb, Chris Meadows
 
Many a Mickle Makes a Muckle: A multitude of Moodle mods to enhance the stude...
Many a Mickle Makes a Muckle: A multitude of Moodle mods to enhance the stude...Many a Mickle Makes a Muckle: A multitude of Moodle mods to enhance the stude...
Many a Mickle Makes a Muckle: A multitude of Moodle mods to enhance the stude...
 
Timeline, our Moodle-Integrated Social Network Alex Walker
Timeline, our Moodle-Integrated Social Network	Alex WalkerTimeline, our Moodle-Integrated Social Network	Alex Walker
Timeline, our Moodle-Integrated Social Network Alex Walker
 
Moving Moodle: “The journey is the reward” Laura Widger
Moving Moodle: “The journey is the reward” 	Laura WidgerMoving Moodle: “The journey is the reward” 	Laura Widger
Moving Moodle: “The journey is the reward” Laura Widger
 
The Open Science Laboratory - Cosmetic Surgery for Moodle Sam Marshall
The Open Science Laboratory - Cosmetic Surgery for Moodle 	Sam MarshallThe Open Science Laboratory - Cosmetic Surgery for Moodle 	Sam Marshall
The Open Science Laboratory - Cosmetic Surgery for Moodle Sam Marshall
 
Workbook: Extending Active Learning in the Book Andrew James
Workbook: Extending Active Learning in the Book  	Andrew JamesWorkbook: Extending Active Learning in the Book  	Andrew James
Workbook: Extending Active Learning in the Book Andrew James
 
Automatic functional testing easier than you thought Bartosz Cisek
Automatic functional testing easier than you thought 	Bartosz CisekAutomatic functional testing easier than you thought 	Bartosz Cisek
Automatic functional testing easier than you thought Bartosz Cisek
 

Último

If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
Kayode Fayemi
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
Sheetaleventcompany
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
Kayode Fayemi
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
raffaeleoman
 

Último (20)

BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
 
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, YardstickSaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
 
Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio III
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
 
ICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdfICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdf
 
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfAWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
 
Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)
 
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
 
Causes of poverty in France presentation.pptx
Causes of poverty in France presentation.pptxCauses of poverty in France presentation.pptx
Causes of poverty in France presentation.pptx
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.
 
My Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle BaileyMy Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle Bailey
 
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
 
Air breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animalsAir breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animals
 
Dreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video TreatmentDreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video Treatment
 
Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510
 
Presentation on Engagement in Book Clubs
Presentation on Engagement in Book ClubsPresentation on Engagement in Book Clubs
Presentation on Engagement in Book Clubs
 

Moodle performance testing presentation - Jonathon Moore

  • 1. Moodle Performance and Scalability Assurance Jonathan Moore
  • 2. Analysing Usage ●We size for the highest peak ●Describe the peak scenario ●How many users? ●How short of interval? ●What are they doing? ●How much growth is expected?
  • 3. The mdl_log ●A wealth of information ●Many sites have > year of data ●Determine concurrency ●Determine % of activity types ●Visualize historical usage
  • 4. Optimizing Performance ●Use a PHP accelerator ●Balance your memory budget ●Make InnoDB buffer pool same size as DB (see mysqltuner.pl) ●Most sensitive to slow disks –Sessions –Moodle source –Moodle database
  • 5. Some General Sizing Guidelines ●~25-30 MB per apache client /w accelerator ●~200-250 logged in users per core ●~4-6 x more resources for a user's first minute ●~10 logged in users supportable per apache child ●DB generally 1/10 size of Moodledata folder ●5-10% of population is common peak for concurrency
  • 6. JMeter Benchmarking ●Simulates simultaneous user activity ●Gathers response and throughput results ●Not a browser can't test javascript ●Can use to measure +/- of changes ●Can use to estimate expected concurrency, but harder
  • 7. What to Use for Testing? ●Copy of production for test site –+Harder for server to cache –-More likely errors in results due to broken content –-Have to reset user passwords ●Synthetic test site –+Can use known good content less false errors –-Takes a lot of time and effort to prepare –-Smaller DB = easier server caching
  • 8. Testing Changes –Single test user and course may work well –More accurate the test rig less likely to miss problem –Run same test between changes –If results degrade don't move forward with change without careful review
  • 9. Measuring Concurrent Capacity ●Test users, enrolment, and course population should be on par with production site ●Test set mix should reflect activity % of production site ●Calculate –Simultaneous logged in user count –Simultaneous logging in users count –They are different –Know what you need for each
  • 10. Moodle 2.6 and JMeter ●New integration available ●Creates test plan with many activity types ●Provides comparison reports ●Only single user / single course test?
  • 11. Tools ●jMeter ●SQL queries + mdl_log ●PHP Accelerator ●Cacti, munin, nagios, etc ●CLI: top, sar, innotop, mysqltuner.pl etc