Tools for improving the performance of Moodle and

  • Slides: 32
Download presentation
Tools for improving the performance of Moodle and other PHP applications Denis Boroja, Manager

Tools for improving the performance of Moodle and other PHP applications Denis Boroja, Manager EAAS Peter Rowley, Director A&I Ellio Mourinho, Programmer EAAS Enterprise Academic Applications, Applications & Integration, 1 University Information Technology, York University, Toronto

York University • York University is a large comprehensive university located in the northwest

York University • York University is a large comprehensive university located in the northwest part of Toronto. It was established in 1959 as a non-denominational institution. • It is a community with 48, 000 undergraduate students, 5, 900 graduate students and 7, 000 support / admin staff. • Each of York’s eleven Faculties is steeped in rich individual tradition and enjoys a high degree of autonomy 2

York and E-Learning • The Provost has been supporting e-learning with a special initiative

York and E-Learning • The Provost has been supporting e-learning with a special initiative • The initiative is supported by four distinct units: • Learning Technology Services (UIT) • Teaching Commons (Provost) • Enterprise Academic Application Services (UIT) • Instructional Technology Centre (UIT) 3

Moodle @ York • Pilot version 1. 5 introduced in 2005 with a few

Moodle @ York • Pilot version 1. 5 introduced in 2005 with a few Faculties. • First production version (v 1. 6) introduced in 2006. • Current 2014 Version is 2. 5. 3+ with My. SQL 5. 5 • All 11 different faculties are represented in Moodle. 4

Moodle @ York Course Load Increase Year over Year 5 Academic Year # courses

Moodle @ York Course Load Increase Year over Year 5 Academic Year # courses used Yo. Y 2009 1, 605 - 2010 2, 043 27% 2011 2, 504 23% 2012 2, 880 15% 2013 3, 045 6%

Moodle @ York Students Load Year over Year 6 Academic Year # of users

Moodle @ York Students Load Year over Year 6 Academic Year # of users Yo. Y 2009 41, 517 - 2010 49, 531 19% 2011 52, 081 5% 2012 52, 498 1% 2013 54, 297 3%

Moodle @ York Instructor Load Year over Year 7 Academic Year # of Instructors

Moodle @ York Instructor Load Year over Year 7 Academic Year # of Instructors Yo. Y 2009 1, 029 - 2010 1, 142 11% 2011 1, 938 70% 2012 1, 809 -7% 2013 1, 973 9%

Moodle History at York 8

Moodle History at York 8

Core Application Architecture • Production • Application Servers • Four Virtual Application Servers running

Core Application Architecture • Production • Application Servers • Four Virtual Application Servers running on Ubuntu 12. 04 • 20 GB RAM, 4 Virtual CPU Cores • 20 GB local storage, external filer with 4. 1 TB • Database Servers • 2 Physical servers running on Ubuntu 12. 04 • Master / Slave with real time replication service • 72 GB of RAM, 300 GB local, 230 GB for My. SQL • Load Balancer • LVS – configured for 25% traffic for each Application Server • Use of Maintenance Pages during outages. 9

External Links • Camtasia Relay • Lecture recording tool used by instructors • Stores

External Links • Camtasia Relay • Lecture recording tool used by instructors • Stores link to a recording in Moodle • Library • Link to York. U library application. • Returns list of resources, appropriate links and study resources. • Turnitin • Assignment submission and plagiarism detection tool 10

Architecture Diagram 11

Architecture Diagram 11

Tools • www. Site 24 x 7. com • Third party application used for

Tools • www. Site 24 x 7. com • Third party application used for Application heartbeat monitoring. Records and tracks applications outages. • App. Dynamics • Third party application used for overall application / code monitoring. Monitors and records application performance. Used for troubleshooting and optimization. • Google Analytics • Used to monitor user interactions, response time and the application load. 12

Tools (cont. ) • Nagios • System level monitoring. (CPU, RAM, Traffic, Filer mounts

Tools (cont. ) • Nagios • System level monitoring. (CPU, RAM, Traffic, Filer mounts etc) • j. Meter • used for performance testing in QA environments. Simulates up to 150% of the estimated max load. 13

App. Dynamics • Dashboard – real-time view of the application 14

App. Dynamics • Dashboard – real-time view of the application 14

App. Dynamics • Dashboard – real-time view of the application 15

App. Dynamics • Dashboard – real-time view of the application 15

App. Dynamics – Transaction Dashboard 16

App. Dynamics – Transaction Dashboard 16

App. Dynamics – Transaction Overview Good day 17 Bad Day

App. Dynamics – Transaction Overview Good day 17 Bad Day

App. Dynamics – Transaction Overview Good day 18 Bad Day

App. Dynamics – Transaction Overview Good day 18 Bad Day

App. Dynamics • Transaction Level Monitoring 19

App. Dynamics • Transaction Level Monitoring 19

App. Dynamics – Transactions Demo LIVE DEMO 20

App. Dynamics – Transactions Demo LIVE DEMO 20

App. Dynamics – Reporting 21

App. Dynamics – Reporting 21

App. Dynamics – Reporting 22

App. Dynamics – Reporting 22

App. Dynamics – User Dashboard 23

App. Dynamics – User Dashboard 23

App. Dynamics – Configuration 24

App. Dynamics – Configuration 24

App. Dynamics – Configuration 25

App. Dynamics – Configuration 25

Other application monitoring tools • New Relic • Dyna. Trace Would anyone care to

Other application monitoring tools • New Relic • Dyna. Trace Would anyone care to share their experiences with these? 26

Google Analytics • Used to measure and observe user interaction with application. • Measure

Google Analytics • Used to measure and observe user interaction with application. • Measure average application page response time. • Measure current user volume (5 minute span). • Track user behavior. • GOAL: Ensure that the application web pages can support and carry the user volume. 27

Google Analytics – Real-time 28

Google Analytics – Real-time 28

Google Analytics – Site Speed 29

Google Analytics – Site Speed 29

Google Analytics – Page Details 30

Google Analytics – Page Details 30

Performance Tuning Changes • Session and Application caching using Memcache and Memcache. D •

Performance Tuning Changes • Session and Application caching using Memcache and Memcache. D • Fine tune mdl_log. • My. SQL inno. DB Changes • Memory increase • LDAP server improvements • My. SQL Oracle Support 31

Q/A dboroja@yorku. ca prowley@yorku. ca mourinho@yorku. ca 32

Q/A dboroja@yorku. ca prowley@yorku. ca mourinho@yorku. ca 32