optimizing the performance of chamilo lms

40
Patrick Roth, Abderrahim Oulmi, Laurent Opprecht, Olivier Jeannin Optimizing the performance of your LMS: example with Chamilo NTICE

Upload: chamilo-association

Post on 25-May-2015

865 views

Category:

Career


5 download

DESCRIPTION

Presentation given by Patrick Roth from the University of Geneve in teh Chamilo Users Day Madrid 2013 showing how to optimize Chamilo for a better performance.

TRANSCRIPT

Page 1: Optimizing the performance of Chamilo LMS

Patrick Roth, Abderrahim Oulmi, Laurent Opprecht, Olivier Jeannin

Optimizing the performance of your LMS: example with Chamilo

NTICE

Page 2: Optimizing the performance of Chamilo LMS

Institutional context

NTICE

The University of Geneva

• # Students: 17500• # Teachers: 2250 • # faculties: 8

Page 3: Optimizing the performance of Chamilo LMS

Institutional context

NTICE

eLearning tools at University of Geneva

Page 4: Optimizing the performance of Chamilo LMS

Institutional context

NTICE

Information and training– Website: elearning.unige.ch– Blog: ciel.unige.ch, twitter (@cielge)– Workshops (Chamilo, Mahara, RCFE, etc.)– Techno-pedagogical advice– Copyright Expertise– Events (BarCamp, webinars, workshops, etc.)

Page 5: Optimizing the performance of Chamilo LMS

Institutional context

NTICE

[email protected]

– # Users: 18059• # Teachers: 1571 • # Students: 16488

– # Active courses: 2068

Page 6: Optimizing the performance of Chamilo LMS

Institutional context

NTICE

[email protected]

# Acti

ve co

urses

# WYS

IWYG

# Docu

ments

# Links

# Course

Descrip

tion

# Announcem

ents

# Age

nda# U

ser

# Assi

gnmen

ts

# Foru

ms

# Lea

rning p

ath

# Test

s# B

log

# Gro

ups

# Surve

ys

# Dro

pbox

# Chat

0

500

1000

1500

2000

2500

Page 7: Optimizing the performance of Chamilo LMS

Institutional context

NTICE

[email protected]

2 million visits per academic

year

Page 8: Optimizing the performance of Chamilo LMS

Institutional context

NTICE

[email protected]

Sep-12

October

November

Decembrer

January

Febru

aryMarc

hApril

MayJune

July

August

0

50,000

100,000

150,000

200,000

250,000

300,000 # of visits

Page 9: Optimizing the performance of Chamilo LMS

Institutional context

NTICE

[email protected]

1-Oct-

12

2-Oct-

12

3-Oct-

12

4-Oct-

12

5-Oct-

12

6-Oct-

12

7-Oct-

12

8-Oct-

12

9-Oct-

12

10-Oct-

12

11-Oct-

12

12-Oct-

12

13-Oct-

12

14-Oct-

12

15-Oct-

12

16-Oct-

12

17-Oct-

12

18-Oct-

12

19-Oct-

12

20-Oct-

12

21-Oct-

12

22-Oct-

12

23-Oct-

12

24-Oct-

12

25-Oct-

12

26-Oct-

12

27-Oct-

12

28-Oct-

12

29-Oct-

12

30-Oct-

12

31-Oct-

120

2,000

4,000

6,000

8,000

10,000

12,000 # of visits

Page 10: Optimizing the performance of Chamilo LMS

Institutional context

NTICE

[email protected]

1-Oct-12 2-Oct-12 3-Oct-12 4-Oct-12 5-Oct-12 6-Oct-12 7-Oct-120

2,000

4,000

6,000

8,000

10,000

12,000 # of visits

Page 11: Optimizing the performance of Chamilo LMS

Institutional context

NTICE

[email protected]

Page 12: Optimizing the performance of Chamilo LMS

Institutional context

NTICE

[email protected] Dokeos response time > 2 minutes

Page 13: Optimizing the performance of Chamilo LMS

Institutional context

NTICE

[email protected]

Page 14: Optimizing the performance of Chamilo LMS

NTICE

Solution

Optimizing the performance of Chamilo

Page 15: Optimizing the performance of Chamilo LMS

NTICE

Solution

How ?

Plan

Do

Check

Act

• Plan– Goal to reach

• Do– Setup your simulation environment

• Check– Measure

• Act– Find the right optimization

Page 16: Optimizing the performance of Chamilo LMS

NTICE

Solution

Goal to reach• Obtain the best performance

Plan

Do

Check

Act

Page 17: Optimizing the performance of Chamilo LMS

NTICE

Solution

Goal to reach• Psychology of web performance

“How web page response time affect user psychology and behavior”

Plan

Do

Check

Act

(WebSiteOptimization, 2008)

Page 18: Optimizing the performance of Chamilo LMS

NTICE

Solution

Goal to reach• Psychology of web performance

Plan

Do

Check

Act

Load times

8 to 10 seconds

“lower perceived credibility”(Fogg et al. 2001)

“lower perceived quality”(Bouch et al. 2000)

“increase user frustration”(King 2003)

Page 19: Optimizing the performance of Chamilo LMS

NTICE

Solution

Goal to reach• Psychology of web performance

Plan

Do

Check

Act

Load times

8 to 10 seconds

“perceived more interesting”(Ramsay et al. 1998)

“perceived more attractive”(Skadberg and Kimmel)

Page 20: Optimizing the performance of Chamilo LMS

NTICE

Solution

Goal to reach

Web page response time < 10 seconds

Plan

Do

Check

Act

Page 21: Optimizing the performance of Chamilo LMS

NTICE

Solution

Setup your simulation environment• Tool: Apache JMeter

– Test plan• Scenario• Thread Group• Measure

Plan

Do

Check

Act

Page 22: Optimizing the performance of Chamilo LMS

NTICE

Solution

Setup your simulation environment• JMeter Test Plan: scenario

Plan

Do

Check

Act

Page 23: Optimizing the performance of Chamilo LMS

NTICE

Solution

Setup your simulation environment• JMeter Test Plan: thread group

Plan

Do

Check

Act

2 secondsdelay

2 secondsdelay . . .

500 users

Page 24: Optimizing the performance of Chamilo LMS

NTICE

Solution

Setup your simulation environment• JMeter Test Plan: measure

– Average web page response time (in ms)

Plan

Do

Check

Act

Page 25: Optimizing the performance of Chamilo LMS

NTICE

Solution

Measure• Hardware

Plan

Do

Check

Act

Page 26: Optimizing the performance of Chamilo LMS

NTICE

Solution

Measure• Software

– Average web page response time – Logs (apache, MySQL, etc.)

Plan

Do

Check

Act

Page 27: Optimizing the performance of Chamilo LMS

NTICE

Solution

Find the right optimization• Hardware configuration (CPU, RAM, disk, network, etc.)• Operating System (Linux, Unix, Windows, etc.)• Web server performance

– PHP performance (PHP accelerator, settings, etc.)– Apache performance (settings, modules, etc.)

• Database performance (settings, engine, queries, etc.)

Plan

Do

Check

Act

Page 28: Optimizing the performance of Chamilo LMS

NTICE

Results

Our findings1. Use real server instead of VM

2. Choose the right DB engine for each table (InnoDB vs MyISAM)

3. Add the right PHP accelerator

4. Update your LAMP components (Apache, PHP, MySQL)

Page 29: Optimizing the performance of Chamilo LMS

NTICE

Results

Find the right optimization• Hardware configuration (CPU, RAM, disk, network,

etc.)• Operating System (Linux, Unix, Windows, etc.)• Web server performance

– PHP performance (PHP accelerator, settings, etc.)– Apache performance (settings, modules, etc.)

• Database performance (settings, engine, queries, etc.)

Use real server instead of VM

Page 30: Optimizing the performance of Chamilo LMS

NTICE

Results

Find the right optimization• Hardware configuration (CPU, RAM, disk, network,

etc.)• Operating System (Linux, Unix, Windows, etc.)• Web server performance

– PHP performance (PHP accelerator, settings, etc.)– Apache performance (settings, modules, etc.)

• Database performance (settings, engine, queries, etc.)

Choose the right DB engine

Page 31: Optimizing the performance of Chamilo LMS

NTICE

Results

Find the right optimization• Hardware configuration (CPU, RAM, disk, network,

etc.)• Operating System (Linux, Unix, Windows, etc.)• Web server performance

– PHP performance (PHP accelerator, settings, etc.)– Apache performance (settings, modules, etc.)

• Database performance (settings, engine, queries, etc.)

Add the right PHP accelerator

Page 32: Optimizing the performance of Chamilo LMS

NTICE

Results

Our findings

(Opcode Cache Benchmarks, 2013)

Page 33: Optimizing the performance of Chamilo LMS

NTICE

Results

Find the right optimization• Hardware configuration (CPU, RAM, disk, network,

etc.)• Operating System (Linux, Unix, Windows, etc.)• Web server performance

– PHP performance (PHP accelerator, settings, etc.)– Apache performance (settings, modules, etc.)

• Database performance (settings, engine, queries, etc.)

Update your LAMP components

Page 34: Optimizing the performance of Chamilo LMS

NTICE

Results

Our findings

Component Before Updated

Apache 2.2.22 2.4.6

PHP 5.3 5.5.3

Update your LAMP components

Page 35: Optimizing the performance of Chamilo LMS

NTICE

Results

Our findings• Detect slow queries and optimize them

Page 36: Optimizing the performance of Chamilo LMS

NTICE

Results

Our findings• Detect slow queries and optimize them

Page 37: Optimizing the performance of Chamilo LMS

NTICE

In summary

5 tips for optimizing your Chamilo 1. Use a real server

2. Choose the right DB engine for each table

3. Update your LAMP components

4. Add the Zend Optimizer+ accelerator

5. Detect slow queries and optimize them

Page 38: Optimizing the performance of Chamilo LMS

NTICE

Current situation

Measure this week with Chamilo 1.9.x

# of users Chamilo response time [ms]

425 560

507 493

532 600

725 460

750 483

Page 39: Optimizing the performance of Chamilo LMS

NTICE

Current situation

Measure this week

Chamilo response time < 1 second

Page 40: Optimizing the performance of Chamilo LMS

NTICE

Thank you