SlideShare a Scribd company logo
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

Brochure di osteopatia
Brochure di osteopatiaBrochure di osteopatia
Brochure di osteopatia
Luca Urzi
 
Guia Referência Rápida HTML 5
Guia Referência Rápida HTML 5Guia Referência Rápida HTML 5
Guia Referência Rápida HTML 5
Loiane Groner
 
쉽고 빠르게 접하는 오픈스택
쉽고 빠르게 접하는 오픈스택쉽고 빠르게 접하는 오픈스택
쉽고 빠르게 접하는 오픈스택
OpenStack Korea Community
 
TrinityCore server install guide
TrinityCore server install guideTrinityCore server install guide
TrinityCore server install guide
Seungmin Shin
 
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
Ji-Woong Choi
 
Set Default Values to Fields in Odoo 15
Set Default Values to Fields in Odoo 15Set Default Values to Fields in Odoo 15
Set Default Values to Fields in Odoo 15
Celine George
 
Quản lý mailbox và group trong exchange 2013
Quản lý mailbox và group trong exchange 2013Quản lý mailbox và group trong exchange 2013
Quản lý mailbox và group trong exchange 2013
laonap166
 
[오픈소스컨설팅]openstack_monitoring_session
[오픈소스컨설팅]openstack_monitoring_session[오픈소스컨설팅]openstack_monitoring_session
[오픈소스컨설팅]openstack_monitoring_session
Chanyeol yoon
 
Building Responsive Applications Using XPages
Building Responsive Applications Using XPagesBuilding Responsive Applications Using XPages
Building Responsive Applications Using XPages
Teamstudio
 
Memento pattern
Memento patternMemento pattern
Memento pattern
Sayanton Vhaduri
 
Graphing Nagios services with pnp4nagios
Graphing Nagios services with pnp4nagiosGraphing Nagios services with pnp4nagios
Graphing Nagios services with pnp4nagios
jasonholtzapple
 
Microservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and KubernetesMicroservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and Kubernetes
Christian Posta
 
Bca sem 6 php practicals 1to12
Bca sem 6 php practicals 1to12Bca sem 6 php practicals 1to12
Bca sem 6 php practicals 1to12
Hitesh Patel
 
[AIS 2018] [Team Tools_Advanced] Confluence 100배 활용하기 - 커브
[AIS 2018] [Team Tools_Advanced] Confluence 100배 활용하기 - 커브[AIS 2018] [Team Tools_Advanced] Confluence 100배 활용하기 - 커브
[AIS 2018] [Team Tools_Advanced] Confluence 100배 활용하기 - 커브
Atlassian 대한민국
 
mongodb와 mysql의 CRUD 연산의 성능 비교
mongodb와 mysql의 CRUD 연산의 성능 비교mongodb와 mysql의 CRUD 연산의 성능 비교
mongodb와 mysql의 CRUD 연산의 성능 비교Woo Yeong Choi
 
Co so ly thuyet ve bao mat
Co so ly thuyet ve bao matCo so ly thuyet ve bao mat
Co so ly thuyet ve bao mat
apofisvn
 
Sessions and cookies
Sessions and cookiesSessions and cookies
Sessions and cookies
www.netgains.org
 
T3DD23 Content Security Policy - Concept, Strategies & Pitfalls
T3DD23 Content Security Policy - Concept, Strategies & PitfallsT3DD23 Content Security Policy - Concept, Strategies & Pitfalls
T3DD23 Content Security Policy - Concept, Strategies & Pitfalls
Oliver Hader
 
Биохимия костной ткани
Биохимия костной тканиБиохимия костной ткани
Биохимия костной тканиcrasgmu
 

What's hot (20)

Brochure di osteopatia
Brochure di osteopatiaBrochure di osteopatia
Brochure di osteopatia
 
Guia Referência Rápida HTML 5
Guia Referência Rápida HTML 5Guia Referência Rápida HTML 5
Guia Referência Rápida HTML 5
 
쉽고 빠르게 접하는 오픈스택
쉽고 빠르게 접하는 오픈스택쉽고 빠르게 접하는 오픈스택
쉽고 빠르게 접하는 오픈스택
 
TrinityCore server install guide
TrinityCore server install guideTrinityCore server install guide
TrinityCore server install guide
 
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick Guide
 
Set Default Values to Fields in Odoo 15
Set Default Values to Fields in Odoo 15Set Default Values to Fields in Odoo 15
Set Default Values to Fields in Odoo 15
 
Quản lý mailbox và group trong exchange 2013
Quản lý mailbox và group trong exchange 2013Quản lý mailbox và group trong exchange 2013
Quản lý mailbox và group trong exchange 2013
 
[오픈소스컨설팅]openstack_monitoring_session
[오픈소스컨설팅]openstack_monitoring_session[오픈소스컨설팅]openstack_monitoring_session
[오픈소스컨설팅]openstack_monitoring_session
 
Building Responsive Applications Using XPages
Building Responsive Applications Using XPagesBuilding Responsive Applications Using XPages
Building Responsive Applications Using XPages
 
Memento pattern
Memento patternMemento pattern
Memento pattern
 
Graphing Nagios services with pnp4nagios
Graphing Nagios services with pnp4nagiosGraphing Nagios services with pnp4nagios
Graphing Nagios services with pnp4nagios
 
Microservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and KubernetesMicroservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and Kubernetes
 
Bca sem 6 php practicals 1to12
Bca sem 6 php practicals 1to12Bca sem 6 php practicals 1to12
Bca sem 6 php practicals 1to12
 
[AIS 2018] [Team Tools_Advanced] Confluence 100배 활용하기 - 커브
[AIS 2018] [Team Tools_Advanced] Confluence 100배 활용하기 - 커브[AIS 2018] [Team Tools_Advanced] Confluence 100배 활용하기 - 커브
[AIS 2018] [Team Tools_Advanced] Confluence 100배 활용하기 - 커브
 
mongodb와 mysql의 CRUD 연산의 성능 비교
mongodb와 mysql의 CRUD 연산의 성능 비교mongodb와 mysql의 CRUD 연산의 성능 비교
mongodb와 mysql의 CRUD 연산의 성능 비교
 
Co so ly thuyet ve bao mat
Co so ly thuyet ve bao matCo so ly thuyet ve bao mat
Co so ly thuyet ve bao mat
 
Sessions and cookies
Sessions and cookiesSessions and cookies
Sessions and cookies
 
T3DD23 Content Security Policy - Concept, Strategies & Pitfalls
T3DD23 Content Security Policy - Concept, Strategies & PitfallsT3DD23 Content Security Policy - Concept, Strategies & Pitfalls
T3DD23 Content Security Policy - Concept, Strategies & Pitfalls
 
Mang vpn
Mang vpnMang vpn
Mang vpn
 
Биохимия костной ткани
Биохимия костной тканиБиохимия костной ткани
Биохимия костной ткани
 

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 Vagrant
Pau Ferrer Ocaña
 
Betabeers Barcelona - Buenas prácticas
Betabeers Barcelona - Buenas prácticasBetabeers Barcelona - Buenas prácticas
Betabeers Barcelona - Buenas prácticas
Ricard 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 Moodle
Michelle Moore
 
Testing Moodle functionality automatically
Testing Moodle functionality automaticallyTesting Moodle functionality automatically
Testing Moodle functionality automatically
David 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 uso
Sergio Zambrano Delfa
 
Mobile learning with moodle
Mobile learning with moodleMobile learning with moodle
Mobile learning with moodle
Juan Leyva Delgado
 
Creating Moodle Mobile remote themes
Creating Moodle Mobile remote themesCreating Moodle Mobile remote themes
Creating Moodle Mobile remote themes
Juan 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 vSphere
Javier Jerónimo Suárez
 
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
London HashiCorp User Group
 
Automation with Packer and TerraForm
Automation with Packer and TerraFormAutomation with Packer and TerraForm
Automation with Packer and TerraForm
Wesley Charles Blake
 
The Best Moodle Modules and Plugins
The Best Moodle Modules and PluginsThe Best Moodle Modules and Plugins
The Best Moodle Modules and Plugins
Rafael 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 Administration
moorejon
 
Doctrine Project
Doctrine ProjectDoctrine Project
Doctrine Project
Daniel Lima
 
Introduction to Moodle Development
Introduction to Moodle DevelopmentIntroduction to Moodle Development
Introduction to Moodle Development
moorejon
 
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
moorejon
 
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
Marcus Green
 
Moodle performance optimizations
Moodle performance optimizationsMoodle performance optimizations
Moodle performance optimizations
Jan 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.x
tallthom
 
Becoming A Drupal Master Builder
Becoming A Drupal Master BuilderBecoming A Drupal Master Builder
Becoming A Drupal Master Builder
Philip Norton
 
Collapsed topics presentation
Collapsed topics presentationCollapsed topics presentation
Collapsed topics presentation
Gareth J Barnard
 
Publican
PublicanPublican
Publican
Stephen Gordon
 
Optimizing Drupal Performance. Tips and Tricks
Optimizing Drupal Performance. Tips and TricksOptimizing Drupal Performance. Tips and Tricks
Optimizing Drupal Performance. Tips and Tricks
Timur 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 Session
Remote-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 Pracitces
Justin Filip
 
It4k12 wordpress
It4k12 wordpressIt4k12 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
Wong 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 GIT
Wong Hoi Sing Edison
 
Puppet managed loadays
Puppet managed loadaysPuppet managed loadays
Puppet managed loadays
Yankee Nemoy
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
Rafael Rosa
 
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
Nikhil 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 Systems
David 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 amigo
David Monllaó
 
Install solr and global search
Install solr and global searchInstall solr and global search
Install solr and global search
David 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 search
David 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

KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
sjcobrien
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
Massimo Artizzu
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
Project Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdfProject Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdf
Karya Keeper
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
YousufSait3
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
ISH Technologies
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
Rakesh Kumar R
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
TaghreedAltamimi
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 

Recently uploaded (20)

KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
Project Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdfProject Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdf
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 

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