Upload
chamilo-association
View
865
Download
5
Tags:
Embed Size (px)
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.
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
– # Users: 18059• # Teachers: 1571 • # Students: 16488
– # Active courses: 2068
Institutional context
NTICE
# 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
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
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
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
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