york university

32
1 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

Upload: hina

Post on 30-Jan-2016

36 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: York University

1

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

Page 2: York University

2

• 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 University

Page 3: York University

3

• 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)

York and E-Learning

Page 4: York University

4

• 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

Page 5: York University

5

Academic Year # courses used YoY

2009 1,605 -

2010 2,043 27%

2011 2,504 23%

2012 2,880 15%

2013 3,045 6%

Moodle @ York

Course Load Increase Year over Year

Page 6: York University

6

Academic Year # of users YoY

2009 41,517 -

2010 49,531 19%

2011 52,081 5%

2012 52,498 1%

2013 54,297 3%

Moodle @ York

Students Load Year over Year

Page 7: York University

7

Academic Year # of Instructors YoY

2009 1,029 -

2010 1,142 11%

2011 1,938 70%

2012 1,809 -7%

2013 1,973 9%

Moodle @ York

Instructor Load Year over Year

Page 8: York University

8

Moodle History at York

Page 9: York University

9

• 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.

Core Application Architecture

Page 10: York University

10

• 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

External Links

Page 11: York University

11

Architecture Diagram

Page 12: York University

12

• 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

Page 13: York University

13

• 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.

Tools (cont.)

Page 14: York University

14

• Dashboard – real-time view of the application

AppDynamics

Page 15: York University

15

• Dashboard – real-time view of the application

AppDynamics

Page 16: York University

16

AppDynamics – Transaction Dashboard

Page 17: York University

17

AppDynamics – Transaction Overview

Good day Bad Day

Page 18: York University

18

AppDynamics – Transaction Overview

Good day Bad Day

Page 19: York University

19

• Transaction Level Monitoring

AppDynamics

Page 20: York University

20

LIVE DEMO

AppDynamics – Transactions Demo

Page 21: York University

21

AppDynamics – Reporting

Page 22: York University

22

AppDynamics – Reporting

Page 23: York University

23

AppDynamics – User Dashboard

Page 24: York University

24

AppDynamics – Configuration

Page 25: York University

25

AppDynamics – Configuration

Page 26: York University

26

Other application monitoring tools

• New Relic

• DynaTrace

Would anyone care to share their experiences with these?

Page 27: York University

27

• 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.

Google Analytics

Page 28: York University

28

Google Analytics – Real-time

Page 29: York University

29

Google Analytics – Site Speed

Page 30: York University

30

Google Analytics – Page Details

Page 31: York University

31

• Session and Application caching using Memcache and MemcacheD

• Fine tune mdl_log.

• MySQL innoDB Changes

• Memory increase

• LDAP server improvements

• MySQL Oracle Support

Performance Tuning Changes