380 likes | 656 Views
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, University Information Technology, York University, Toronto.
E N D
Tools for improving the performance of Moodleand other PHP applicationsDenis Boroja, Manager EAASPeter Rowley, Director A&IEllio Mourinho, Programmer EAAS Enterprise Academic Applications, Applications & Integration, University Information Technology, York University, Toronto
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
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)
Moodle @ York • Pilot version 1.5 introduced in 2005 with a few Faculties. • First production version (v1.6) introduced in 2006. • Current 2014 Version is 2.5.3+ with MySQL 5.5 • All 11 different faculties are represented in Moodle.
Moodle @ York Course Load Increase Year over Year
Moodle @ York Students Load Year over Year
Moodle @ York Instructor Load Year over Year
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 • 72GB of RAM, 300 GB local, 230 GB for MySQL • Load Balancer • LVS – configured for 25% traffic for each Application Server • Use of Maintenance Pages during outages.
External Links • Camtasia Relay • Lecture recording tool used by instructors • Stores link to a recording in Moodle • Library • Link to YorkU library application. • Returns list of resources, appropriate links and study resources. • Turnitin • Assignment submission and plagiarism detection tool
Tools • www.Site24x7.com • Third party application used for Application heartbeat monitoring. Records and tracks applications outages. • AppDynamics • 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.
Tools (cont.) • Nagios • System level monitoring. (CPU, RAM, Traffic, Filer mounts etc) • jMeter • used for performance testing in QA environments. Simulates up to 150% of the estimated max load.
AppDynamics • Dashboard – real-time view of the application
AppDynamics • Dashboard – real-time view of the application
AppDynamics – Transaction Overview Good day Bad Day
AppDynamics – Transaction Overview Good day Bad Day
AppDynamics • Transaction Level Monitoring
AppDynamics – Transactions Demo LIVE DEMO
Other application monitoring tools • New Relic • DynaTrace Would anyone care to share their experiences with these?
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.
Performance Tuning Changes • Session and Application caching using Memcache and MemcacheD • Fine tune mdl_log. • MySQL innoDB Changes • Memory increase • LDAP server improvements • MySQL Oracle Support
Q/Adboroja@yorku.ca prowley@yorku.ca mourinho@yorku.ca