Optimizing the performance of your LMS

Preview:

DESCRIPTION

In this presentation we show you how to improve the performance of you LMS

Citation preview

Patrick Roth, Abderrahim Oulmi, Laurent Opprecht, Olivier Jeannin

Optimizing the performance of your LMS: example with Chamilo

NTICE

Institutional context

NTICE

The University of Geneva

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

Institutional context

NTICE

eLearning tools at University of Geneva

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

Institutional context

NTICE

Dokeos@unige.ch

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

– # Active courses: 2068

Institutional context

NTICE

Dokeos@unige.ch

# 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

Institutional context

NTICE

Dokeos@unige.ch

2 million visits per academic

year

Institutional context

NTICE

Dokeos@unige.ch

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

Institutional context

NTICE

Dokeos@unige.ch

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

Institutional context

NTICE

Dokeos@unige.ch

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

Institutional context

NTICE

Dokeos@unige.ch

Institutional context

NTICE

Dokeos@unige.ch Dokeos response time > 2 minutes

Institutional context

NTICE

Dokeos@unige.ch

NTICE

Solution

Optimizing the performance of Chamilo

NTICE

Solution

How ?

Plan

Do

Check

Act

• Plan– Goal to reach

• Do– Setup your simulation environment

• Check– Measure

• Act– Find the right optimization

NTICE

Solution

Goal to reach• Obtain the best performance

Plan

Do

Check

Act

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)

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)

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)

NTICE

Solution

Goal to reach

Web page response time < 10 seconds

Plan

Do

Check

Act

NTICE

Solution

Setup your simulation environment• Tool: Apache JMeter

– Test plan• Scenario• Thread Group• Measure

Plan

Do

Check

Act

NTICE

Solution

Setup your simulation environment• JMeter Test Plan: scenario

Plan

Do

Check

Act

NTICE

Solution

Setup your simulation environment• JMeter Test Plan: thread group

Plan

Do

Check

Act

2 secondsdelay

2 secondsdelay . . .

500 users

NTICE

Solution

Setup your simulation environment• JMeter Test Plan: measure

– Average web page response time (in ms)

Plan

Do

Check

Act

NTICE

Solution

Measure• Hardware

Plan

Do

Check

Act

NTICE

Solution

Measure• Software

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

Plan

Do

Check

Act

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

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)

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

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

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

NTICE

Results

Our findings

(Opcode Cache Benchmarks, 2013)

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

NTICE

Results

Our findings

Component Before Updated

Apache 2.2.22 2.4.6

PHP 5.3 5.5.3

Update your LAMP components

NTICE

Results

Our findings• Detect slow queries and optimize them

NTICE

Results

Our findings• Detect slow queries and optimize them

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

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

NTICE

Current situation

Measure this week

Chamilo response time < 1 second

NTICE

Thank you