SlideShare a Scribd company logo
1 of 13
Download to read offline
David Monllaó
@DavidMonllao
MoodleMoot Australia 2015
#mootau15
the world’s open source learning platform
How to improve your
Moodle site performance
the world’s open source learning platform
Why my Moodle may be slow?
Because it needs
time to be as
awesome as it is.
https://commons.wikimedia.org/wiki/File:Florida_Box_Turtle_Digon3a.jpg
the world’s open source learning platform
What can you change if you are a...
1. Teacher Moodle course
2. Moodle administrator Moodle site
3. System administrator Servers
4. Developer Code
5. Moodle HQ Releases
the world’s open source learning platform
If you are a teacher try to...
● Enable just the filters you think are really necessary
● Resize your images before uploading them
● Reduce number of sections or paginate them
● Remove recent activity block
● Disable features you and your students do not use
● Ask your Moodle administrator :)
http://www.wallpapersnewhd.com/mario-wallpaper-hd-free-download/
the world’s open source learning platform
If you are a Moodle administrator...
● Performance overview report
the world’s open source learning platform
● Disable log legacy data
● Reduce number of courses on frontpage (or use Dashboard)
● Moodle features that might affect performance
○ Enabled filters
○ Event monitor
○ Grade history
● Use slash arguments (web cache)
● Ask your sys admin :)
If you are a Moodle administrator...
the world’s open source learning platform
If you are a system administrator...
● Memcached
○ For caches
○ For session data
● Opcache for opcode caching (PHP 5.5 onwards)
○ https://docs.moodle.org/29/en/OPcache
the world’s open source learning platform
If you are a system administrator...
Compare performance:
● Cache stores config
● Sessions to database, to
file, to memcached?
● Hardware, network
https://github.com/moodlehq/moodle-performance-comparison
the world’s open source learning platform
If you are a system administrator...
● Hardware, clusters, NAS, proxy caching, Apache & database tuning…
○ You know better than me, find other sysadmins and talk with them
○ https://docs.moodle.org/29/en/Performance_recommendations
?!¿?¡¿?
the world’s open source learning platform
If you are a developer...
● Database queries
○ Reduce db writes and db reads as much as possible
■ Avoid queries inside loops (design ready to fetch “IN ()”)
○ Always join using indexed fields
○ For big data set processing use get_recordset* + recordset_walk
○ Add cache definitions when necessary
● Code profiling
○ XHProf
● For global changes
○ moodle-performance-comparison
the world’s open source learning platform
If you are Moodle HQ...
● Ensure no performance regressions are introduced -> http://goo.gl/yp14bO
● Look for performance issues and more caches -> e.g. MDL-48448
● Expand performance test coverage (work in progress)
Questions or more information
Tracker
https://tracker.moodle.org
Hardware and performance forum
https://moodle.org/mod/forum/view.php?id=596
David Monllaó
davidm@moodle.com
the world’s open source learning platform
Thank you
Community: moodle.org
Commercial: moodle.com
@moodle
the world’s open source learning platform

More Related Content

What's hot

Моделювання на ЕОМ. Теоретичні питання моделювання.
Моделювання на ЕОМ. Теоретичні питання моделювання.Моделювання на ЕОМ. Теоретичні питання моделювання.
Моделювання на ЕОМ. Теоретичні питання моделювання.Lesia Sobolevska
 
Linux Kernel - Virtual File System
Linux Kernel - Virtual File SystemLinux Kernel - Virtual File System
Linux Kernel - Virtual File SystemAdrian Huang
 
Glibc内存管理ptmalloc源代码分析4
Glibc内存管理ptmalloc源代码分析4Glibc内存管理ptmalloc源代码分析4
Glibc内存管理ptmalloc源代码分析4hans511002
 
Data backup and disaster recovery
Data backup and disaster recoveryData backup and disaster recovery
Data backup and disaster recoverycatacutanjcsantos
 
Process Address Space: The way to create virtual address (page table) of user...
Process Address Space: The way to create virtual address (page table) of user...Process Address Space: The way to create virtual address (page table) of user...
Process Address Space: The way to create virtual address (page table) of user...Adrian Huang
 

What's hot (8)

Моделювання на ЕОМ. Теоретичні питання моделювання.
Моделювання на ЕОМ. Теоретичні питання моделювання.Моделювання на ЕОМ. Теоретичні питання моделювання.
Моделювання на ЕОМ. Теоретичні питання моделювання.
 
Linux Kernel - Virtual File System
Linux Kernel - Virtual File SystemLinux Kernel - Virtual File System
Linux Kernel - Virtual File System
 
Charakterystyka informatycznych systemów komputerowych
Charakterystyka informatycznych systemów komputerowychCharakterystyka informatycznych systemów komputerowych
Charakterystyka informatycznych systemów komputerowych
 
IBM Netezza
IBM NetezzaIBM Netezza
IBM Netezza
 
Glibc内存管理ptmalloc源代码分析4
Glibc内存管理ptmalloc源代码分析4Glibc内存管理ptmalloc源代码分析4
Glibc内存管理ptmalloc源代码分析4
 
Power Grid Cybersecurity
Power Grid CybersecurityPower Grid Cybersecurity
Power Grid Cybersecurity
 
Data backup and disaster recovery
Data backup and disaster recoveryData backup and disaster recovery
Data backup and disaster recovery
 
Process Address Space: The way to create virtual address (page table) of user...
Process Address Space: The way to create virtual address (page table) of user...Process Address Space: The way to create virtual address (page table) of user...
Process Address Space: The way to create virtual address (page table) of user...
 

Viewers also liked

Entorno de desarrollo rápido con Vagrant
Entorno de desarrollo rápido con VagrantEntorno de desarrollo rápido con Vagrant
Entorno de desarrollo rápido con VagrantPau Ferrer Ocaña
 
Betabeers Barcelona - Buenas prácticas
Betabeers Barcelona - Buenas prácticasBetabeers Barcelona - Buenas prácticas
Betabeers Barcelona - Buenas prácticasRicard Clau
 
Screencasting in Moodle: Does size matter?
Screencasting in Moodle: Does  size matter?Screencasting in Moodle: Does  size matter?
Screencasting in Moodle: Does size matter?Mary Cooch
 
Use Your Noodle: Blending with Moodle
Use Your Noodle: Blending with MoodleUse Your Noodle: Blending with Moodle
Use Your Noodle: Blending with MoodleMichelle Moore
 
Testing Moodle functionality automatically
Testing Moodle functionality automaticallyTesting Moodle functionality automatically
Testing Moodle functionality automaticallyDavid Monllaó
 
Vagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoVagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoSergio Zambrano Delfa
 
Creating Moodle Mobile remote themes
Creating Moodle Mobile remote themesCreating Moodle Mobile remote themes
Creating Moodle Mobile remote themesJuan Leyva Delgado
 
Vagrant para automatizar entornos DEV/PRO: VirtualBox y vSphere
Vagrant para automatizar entornos DEV/PRO: VirtualBox y vSphereVagrant para automatizar entornos DEV/PRO: VirtualBox y vSphere
Vagrant para automatizar entornos DEV/PRO: VirtualBox y vSphereJavier Jerónimo Suárez
 
Automation with Packer and TerraForm
Automation with Packer and TerraFormAutomation with Packer and TerraForm
Automation with Packer and TerraFormWesley Charles Blake
 
The Best Moodle Modules and Plugins
The Best Moodle Modules and PluginsThe Best Moodle Modules and Plugins
The Best Moodle Modules and PluginsRafael Scapin, Ph.D.
 

Viewers also liked (12)

Entorno de desarrollo rápido con Vagrant
Entorno de desarrollo rápido con VagrantEntorno de desarrollo rápido con Vagrant
Entorno de desarrollo rápido con Vagrant
 
Betabeers Barcelona - Buenas prácticas
Betabeers Barcelona - Buenas prácticasBetabeers Barcelona - Buenas prácticas
Betabeers Barcelona - Buenas prácticas
 
Screencasting in Moodle: Does size matter?
Screencasting in Moodle: Does  size matter?Screencasting in Moodle: Does  size matter?
Screencasting in Moodle: Does size matter?
 
Use Your Noodle: Blending with Moodle
Use Your Noodle: Blending with MoodleUse Your Noodle: Blending with Moodle
Use Your Noodle: Blending with Moodle
 
Testing Moodle functionality automatically
Testing Moodle functionality automaticallyTesting Moodle functionality automatically
Testing Moodle functionality automatically
 
Vagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoVagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de uso
 
Mobile learning with moodle
Mobile learning with moodleMobile learning with moodle
Mobile learning with moodle
 
Creating Moodle Mobile remote themes
Creating Moodle Mobile remote themesCreating Moodle Mobile remote themes
Creating Moodle Mobile remote themes
 
Vagrant para automatizar entornos DEV/PRO: VirtualBox y vSphere
Vagrant para automatizar entornos DEV/PRO: VirtualBox y vSphereVagrant para automatizar entornos DEV/PRO: VirtualBox y vSphere
Vagrant para automatizar entornos DEV/PRO: VirtualBox y vSphere
 
London Hug 19/5 - Terraform in Production
London Hug 19/5 - Terraform in ProductionLondon Hug 19/5 - Terraform in Production
London Hug 19/5 - Terraform in Production
 
Automation with Packer and TerraForm
Automation with Packer and TerraFormAutomation with Packer and TerraForm
Automation with Packer and TerraForm
 
The Best Moodle Modules and Plugins
The Best Moodle Modules and PluginsThe Best Moodle Modules and Plugins
The Best Moodle Modules and Plugins
 

Similar to How to improve your moodle site performance

Best Practices In Moodle Administration
Best Practices In Moodle AdministrationBest Practices In Moodle Administration
Best Practices In Moodle Administrationmoorejon
 
Doctrine Project
Doctrine ProjectDoctrine Project
Doctrine ProjectDaniel Lima
 
Introduction to Moodle Development
Introduction to Moodle DevelopmentIntroduction to Moodle Development
Introduction to Moodle Developmentmoorejon
 
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 2014moorejon
 
Become a moodle developer marcus green - moodle moot global19
Become a moodle developer  marcus green - moodle moot global19Become a moodle developer  marcus green - moodle moot global19
Become a moodle developer marcus green - moodle moot global19Marcus Green
 
Moodle performance optimizations
Moodle performance optimizationsMoodle performance optimizations
Moodle performance optimizationsJan Meier
 
Moodle Migration Tips - 1.x 2.x
Moodle Migration Tips - 1.x 2.xMoodle Migration Tips - 1.x 2.x
Moodle Migration Tips - 1.x 2.xtallthom
 
Becoming A Drupal Master Builder
Becoming A Drupal Master BuilderBecoming A Drupal Master Builder
Becoming A Drupal Master BuilderPhilip Norton
 
Collapsed topics presentation
Collapsed topics presentationCollapsed topics presentation
Collapsed topics presentationGareth J Barnard
 
Optimizing Drupal Performance. Tips and Tricks
Optimizing Drupal Performance. Tips and TricksOptimizing Drupal Performance. Tips and Tricks
Optimizing Drupal Performance. Tips and TricksTimur Kamanin
 
Ireland Moot 2013 Admin Workshop Morning Session
Ireland Moot 2013 Admin Workshop Morning SessionIreland Moot 2013 Admin Workshop Morning Session
Ireland Moot 2013 Admin Workshop Morning SessionRemote-Learner UK
 
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
 
Moodle Development Best Pracitces
Moodle Development Best PracitcesMoodle Development Best Pracitces
Moodle Development Best PracitcesJustin Filip
 
Open Innovation Lab (OIL) - 2014 Sep 26th
Open Innovation Lab (OIL) - 2014 Sep 26thOpen Innovation Lab (OIL) - 2014 Sep 26th
Open Innovation Lab (OIL) - 2014 Sep 26thWong Hoi Sing Edison
 
[HKDUG] #20180512 - Fix Hacked Drupal with GIT
[HKDUG] #20180512 - Fix Hacked Drupal with GIT[HKDUG] #20180512 - Fix Hacked Drupal with GIT
[HKDUG] #20180512 - Fix Hacked Drupal with GITWong Hoi Sing Edison
 
Puppet managed loadays
Puppet managed loadaysPuppet managed loadays
Puppet managed loadaysYankee Nemoy
 
Open source ml systems that need to be built
Open source ml systems that need to be builtOpen source ml systems that need to be built
Open source ml systems that need to be builtNikhil Garg
 

Similar to How to improve your moodle site performance (20)

Best Practices In Moodle Administration
Best Practices In Moodle AdministrationBest Practices In Moodle Administration
Best Practices In Moodle Administration
 
Doctrine Project
Doctrine ProjectDoctrine Project
Doctrine Project
 
Introduction to Moodle Development
Introduction to Moodle DevelopmentIntroduction to Moodle Development
Introduction to Moodle Development
 
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
 
Become a moodle developer marcus green - moodle moot global19
Become a moodle developer  marcus green - moodle moot global19Become a moodle developer  marcus green - moodle moot global19
Become a moodle developer marcus green - moodle moot global19
 
Moodle performance optimizations
Moodle performance optimizationsMoodle performance optimizations
Moodle performance optimizations
 
Moodle Migration Tips - 1.x 2.x
Moodle Migration Tips - 1.x 2.xMoodle Migration Tips - 1.x 2.x
Moodle Migration Tips - 1.x 2.x
 
Becoming A Drupal Master Builder
Becoming A Drupal Master BuilderBecoming A Drupal Master Builder
Becoming A Drupal Master Builder
 
Collapsed topics presentation
Collapsed topics presentationCollapsed topics presentation
Collapsed topics presentation
 
Publican
PublicanPublican
Publican
 
Optimizing Drupal Performance. Tips and Tricks
Optimizing Drupal Performance. Tips and TricksOptimizing Drupal Performance. Tips and Tricks
Optimizing Drupal Performance. Tips and Tricks
 
Ireland Moot 2013 Admin Workshop Morning Session
Ireland Moot 2013 Admin Workshop Morning SessionIreland Moot 2013 Admin Workshop Morning Session
Ireland Moot 2013 Admin Workshop Morning Session
 
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)
 
Moodle Development Best Pracitces
Moodle Development Best PracitcesMoodle Development Best Pracitces
Moodle Development Best Pracitces
 
It4k12 wordpress
It4k12 wordpressIt4k12 wordpress
It4k12 wordpress
 
Open Innovation Lab (OIL) - 2014 Sep 26th
Open Innovation Lab (OIL) - 2014 Sep 26thOpen Innovation Lab (OIL) - 2014 Sep 26th
Open Innovation Lab (OIL) - 2014 Sep 26th
 
[HKDUG] #20180512 - Fix Hacked Drupal with GIT
[HKDUG] #20180512 - Fix Hacked Drupal with GIT[HKDUG] #20180512 - Fix Hacked Drupal with GIT
[HKDUG] #20180512 - Fix Hacked Drupal with GIT
 
Puppet managed loadays
Puppet managed loadaysPuppet managed loadays
Puppet managed loadays
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
Open source ml systems that need to be built
Open source ml systems that need to be builtOpen source ml systems that need to be built
Open source ml systems that need to be built
 

More from David Monllaó

Moodle learning analytics desde diferentes perspectivas (#mootgt19)
Moodle learning analytics desde diferentes perspectivas (#mootgt19)Moodle learning analytics desde diferentes perspectivas (#mootgt19)
Moodle learning analytics desde diferentes perspectivas (#mootgt19)David Monllaó
 
Moodle learning analytics from different perspectives (#moothr19)
Moodle learning analytics from different perspectives (#moothr19)Moodle learning analytics from different perspectives (#moothr19)
Moodle learning analytics from different perspectives (#moothr19)David Monllaó
 
Moodle, the de facto learning platform to facilitate research and experimenta...
Moodle, the de facto learning platform to facilitate research and experimenta...Moodle, the de facto learning platform to facilitate research and experimenta...
Moodle, the de facto learning platform to facilitate research and experimenta...David Monllaó
 
A Supervised Learning Framework for Learning Management Systems
A Supervised Learning Framework for Learning Management SystemsA Supervised Learning Framework for Learning Management Systems
A Supervised Learning Framework for Learning Management SystemsDavid Monllaó
 
El equipo de integracion de Moodle HQ es tu muy mejor amigo
El equipo de integracion de Moodle HQ es tu muy mejor amigoEl equipo de integracion de Moodle HQ es tu muy mejor amigo
El equipo de integracion de Moodle HQ es tu muy mejor amigoDavid Monllaó
 
Install solr and global search
Install solr and global searchInstall solr and global search
Install solr and global searchDavid Monllaó
 
Add your plugin contents to global search
Add your plugin contents to global searchAdd your plugin contents to global search
Add your plugin contents to global searchDavid Monllaó
 
Automatic classification of students in online courses using machine learning...
Automatic classification of students in online courses using machine learning...Automatic classification of students in online courses using machine learning...
Automatic classification of students in online courses using machine learning...David Monllaó
 

More from David Monllaó (8)

Moodle learning analytics desde diferentes perspectivas (#mootgt19)
Moodle learning analytics desde diferentes perspectivas (#mootgt19)Moodle learning analytics desde diferentes perspectivas (#mootgt19)
Moodle learning analytics desde diferentes perspectivas (#mootgt19)
 
Moodle learning analytics from different perspectives (#moothr19)
Moodle learning analytics from different perspectives (#moothr19)Moodle learning analytics from different perspectives (#moothr19)
Moodle learning analytics from different perspectives (#moothr19)
 
Moodle, the de facto learning platform to facilitate research and experimenta...
Moodle, the de facto learning platform to facilitate research and experimenta...Moodle, the de facto learning platform to facilitate research and experimenta...
Moodle, the de facto learning platform to facilitate research and experimenta...
 
A Supervised Learning Framework for Learning Management Systems
A Supervised Learning Framework for Learning Management SystemsA Supervised Learning Framework for Learning Management Systems
A Supervised Learning Framework for Learning Management Systems
 
El equipo de integracion de Moodle HQ es tu muy mejor amigo
El equipo de integracion de Moodle HQ es tu muy mejor amigoEl equipo de integracion de Moodle HQ es tu muy mejor amigo
El equipo de integracion de Moodle HQ es tu muy mejor amigo
 
Install solr and global search
Install solr and global searchInstall solr and global search
Install solr and global search
 
Add your plugin contents to global search
Add your plugin contents to global searchAdd your plugin contents to global search
Add your plugin contents to global search
 
Automatic classification of students in online courses using machine learning...
Automatic classification of students in online courses using machine learning...Automatic classification of students in online courses using machine learning...
Automatic classification of students in online courses using machine learning...
 

Recently uploaded

Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfmaor17
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
Copilot para Microsoft 365 y Power Platform Copilot
Copilot para Microsoft 365 y Power Platform CopilotCopilot para Microsoft 365 y Power Platform Copilot
Copilot para Microsoft 365 y Power Platform CopilotEdgard Alejos
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
Data modeling 101 - Basics - Software Domain
Data modeling 101 - Basics - Software DomainData modeling 101 - Basics - Software Domain
Data modeling 101 - Basics - Software DomainAbdul Ahad
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 

Recently uploaded (20)

Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdf
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
Copilot para Microsoft 365 y Power Platform Copilot
Copilot para Microsoft 365 y Power Platform CopilotCopilot para Microsoft 365 y Power Platform Copilot
Copilot para Microsoft 365 y Power Platform Copilot
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
Data modeling 101 - Basics - Software Domain
Data modeling 101 - Basics - Software DomainData modeling 101 - Basics - Software Domain
Data modeling 101 - Basics - Software Domain
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 

How to improve your moodle site performance

  • 1. David Monllaó @DavidMonllao MoodleMoot Australia 2015 #mootau15 the world’s open source learning platform How to improve your Moodle site performance
  • 2. the world’s open source learning platform Why my Moodle may be slow? Because it needs time to be as awesome as it is. https://commons.wikimedia.org/wiki/File:Florida_Box_Turtle_Digon3a.jpg
  • 3. the world’s open source learning platform What can you change if you are a... 1. Teacher Moodle course 2. Moodle administrator Moodle site 3. System administrator Servers 4. Developer Code 5. Moodle HQ Releases
  • 4. the world’s open source learning platform If you are a teacher try to... ● Enable just the filters you think are really necessary ● Resize your images before uploading them ● Reduce number of sections or paginate them ● Remove recent activity block ● Disable features you and your students do not use ● Ask your Moodle administrator :) http://www.wallpapersnewhd.com/mario-wallpaper-hd-free-download/
  • 5. the world’s open source learning platform If you are a Moodle administrator... ● Performance overview report
  • 6. the world’s open source learning platform ● Disable log legacy data ● Reduce number of courses on frontpage (or use Dashboard) ● Moodle features that might affect performance ○ Enabled filters ○ Event monitor ○ Grade history ● Use slash arguments (web cache) ● Ask your sys admin :) If you are a Moodle administrator...
  • 7. the world’s open source learning platform If you are a system administrator... ● Memcached ○ For caches ○ For session data ● Opcache for opcode caching (PHP 5.5 onwards) ○ https://docs.moodle.org/29/en/OPcache
  • 8. the world’s open source learning platform If you are a system administrator... Compare performance: ● Cache stores config ● Sessions to database, to file, to memcached? ● Hardware, network https://github.com/moodlehq/moodle-performance-comparison
  • 9. the world’s open source learning platform If you are a system administrator... ● Hardware, clusters, NAS, proxy caching, Apache & database tuning… ○ You know better than me, find other sysadmins and talk with them ○ https://docs.moodle.org/29/en/Performance_recommendations ?!¿?¡¿?
  • 10. the world’s open source learning platform If you are a developer... ● Database queries ○ Reduce db writes and db reads as much as possible ■ Avoid queries inside loops (design ready to fetch “IN ()”) ○ Always join using indexed fields ○ For big data set processing use get_recordset* + recordset_walk ○ Add cache definitions when necessary ● Code profiling ○ XHProf ● For global changes ○ moodle-performance-comparison
  • 11. the world’s open source learning platform If you are Moodle HQ... ● Ensure no performance regressions are introduced -> http://goo.gl/yp14bO ● Look for performance issues and more caches -> e.g. MDL-48448 ● Expand performance test coverage (work in progress)
  • 12. Questions or more information Tracker https://tracker.moodle.org Hardware and performance forum https://moodle.org/mod/forum/view.php?id=596 David Monllaó davidm@moodle.com the world’s open source learning platform
  • 13. Thank you Community: moodle.org Commercial: moodle.com @moodle the world’s open source learning platform