Optimizing the performance of your LMS:
example with Chamilo
Patrick Roth, Abderrahim Oulmi, Laurent
Opprecht, Olivier Jea...
Institutional context
The University of Geneva
• # Students: 17500
• # Teachers: 2250
• # faculties: 8

NTICE
Institutional context
eLearning tools at University of Geneva

NTICE
Institutional context
Information and training
– Website: elearning.unige.ch
– Blog: ciel.unige.ch, twitter (@cielge)
– Wo...
Institutional context
Dokeos@unige.ch
– # Users: 18059
• # Teachers: 1571
• # Students: 16488

– # Active courses: 2068

N...
Institutional context
Dokeos@unige.ch
2500
2000
1500
1000
500
0

NTICE
Institutional context
Dokeos@unige.ch
2 million
visits per
academic
year

NTICE
Institutional context
Dokeos@unige.ch
300,000
250,000
200,000
150,000
100,000
50,000
0

NTICE

# of visits
Institutional context
Dokeos@unige.ch
12,000
10,000
8,000
6,000
4,000
2,000
0

NTICE

# of visits
Institutional context
Dokeos@unige.ch
12,000

# of visits

10,000
8,000
6,000
4,000
2,000
0
1-Oct-12 2-Oct-12 3-Oct-12 4-O...
Institutional context
Dokeos@unige.ch

NTICE
Institutional context
Dokeos@unige.ch

NTICE

Dokeos response time > 2 minutes
Institutional context
Dokeos@unige.ch

NTICE
Solution

Optimizing the performance of Chamilo

NTICE
Solution
• Plan

How ?

– Goal to reach

• Do

Plan

– Setup your simulation environment
Act

Do

• Check
– Measure

Check...
Plan

Solution

Act

Do

Check

Goal to reach
• Obtain the best performance

NTICE
Plan

Solution

Act

Do

Check

Goal to reach
• Psychology of web performance
“How web page response time affect user psyc...
Plan

Solution

Act

Do

Check

Goal to reach
• Psychology of web performance
“lower perceived credibility”
(Fogg et al. 2...
Plan

Solution

Act

Do

Check

Goal to reach
• Psychology of web performance
“perceived more interesting”
(Ramsay et al. ...
Plan

Solution

Act

Do

Check

Goal to reach

Web page response time < 10 seconds

NTICE
Plan

Solution

Act

Do

Check

Setup your simulation environment
• Tool: Apache JMeter
– Test plan
• Scenario
• Thread Gr...
Plan

Solution

Act

Do

Check

Setup your simulation environment
• JMeter Test Plan: scenario

NTICE
Plan

Solution

Act

Do

Check

Setup your simulation environment
• JMeter Test Plan: thread group

2 seconds
delay

NTICE...
Plan

Solution

Act

Do

Check

Setup your simulation environment
• JMeter Test Plan: measure
– Average web page response ...
Plan

Solution

Act

Do

Check

Measure
• Hardware

NTICE
Plan

Solution

Act

Do

Check

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

NTICE
Plan

Solution

Act

Do

Check

Find the right optimization
• Hardware configuration (CPU, RAM, disk, network, etc.)
• Ope...
Results
Our findings
1. Use real server instead of VM
2. Choose the right DB engine for each table
(InnoDB vs MyISAM)
3. A...
Results
Use real server instead of VM

Find the right optimization

• Hardware configuration (CPU, RAM, disk, network,
etc...
Results
Choose the right DB engine

Find the right optimization

• Hardware configuration (CPU, RAM, disk, network,
etc.)
...
Results
Add the right PHP accelerator

Find the right optimization

• Hardware configuration (CPU, RAM, disk, network,
etc...
Results
Our findings

(Opcode Cache Benchmarks, 2013)

NTICE
Results
Update your LAMP components

Find the right optimization

• Hardware configuration (CPU, RAM, disk, network,
etc.)...
Results
Our findings
Component

Before

Updated

Apache

2.2.22

2.4.6

PHP

5.3

5.5.3

Update your LAMP components

NTIC...
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.
2.
3.
4.
5.

Use a real server
Choose the right DB engine for each table
...
Current situation
Measure this week with Chamilo 1.9.x
# of users

425

560

507

493

532

600

725

460

750

NTICE

Cha...
Current situation
Measure this week

Chamilo response time < 1 second

NTICE
Thank you

NTICE
Upcoming SlideShare
Loading in …5
×

Optimizing the performance of Chamilo LMS

1,349 views

Published on

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.

Published in: Career, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,349
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Optimizing the performance of Chamilo LMS

  1. 1. Optimizing the performance of your LMS: example with Chamilo Patrick Roth, Abderrahim Oulmi, Laurent Opprecht, Olivier Jeannin NTICE
  2. 2. Institutional context The University of Geneva • # Students: 17500 • # Teachers: 2250 • # faculties: 8 NTICE
  3. 3. Institutional context eLearning tools at University of Geneva NTICE
  4. 4. Institutional context 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.) NTICE
  5. 5. Institutional context Dokeos@unige.ch – # Users: 18059 • # Teachers: 1571 • # Students: 16488 – # Active courses: 2068 NTICE
  6. 6. Institutional context Dokeos@unige.ch 2500 2000 1500 1000 500 0 NTICE
  7. 7. Institutional context Dokeos@unige.ch 2 million visits per academic year NTICE
  8. 8. Institutional context Dokeos@unige.ch 300,000 250,000 200,000 150,000 100,000 50,000 0 NTICE # of visits
  9. 9. Institutional context Dokeos@unige.ch 12,000 10,000 8,000 6,000 4,000 2,000 0 NTICE # of visits
  10. 10. Institutional context Dokeos@unige.ch 12,000 # of visits 10,000 8,000 6,000 4,000 2,000 0 1-Oct-12 2-Oct-12 3-Oct-12 4-Oct-12 5-Oct-12 6-Oct-12 7-Oct-12 NTICE
  11. 11. Institutional context Dokeos@unige.ch NTICE
  12. 12. Institutional context Dokeos@unige.ch NTICE Dokeos response time > 2 minutes
  13. 13. Institutional context Dokeos@unige.ch NTICE
  14. 14. Solution Optimizing the performance of Chamilo NTICE
  15. 15. Solution • Plan How ? – Goal to reach • Do Plan – Setup your simulation environment Act Do • Check – Measure Check NTICE • Act – Find the right optimization
  16. 16. Plan Solution Act Do Check Goal to reach • Obtain the best performance NTICE
  17. 17. Plan Solution Act Do Check Goal to reach • Psychology of web performance “How web page response time affect user psychology and behavior” (WebSiteOptimization, 2008) NTICE
  18. 18. Plan Solution Act Do Check Goal to reach • Psychology of web performance “lower perceived credibility” (Fogg et al. 2001) 8 to 10 seconds “lower perceived quality” (Bouch et al. 2000) “increase user frustration” (King 2003) Load times NTICE
  19. 19. Plan Solution Act Do Check Goal to reach • Psychology of web performance “perceived more interesting” (Ramsay et al. 1998) 8 to 10 seconds “perceived more attractive” (Skadberg and Kimmel) Load times NTICE
  20. 20. Plan Solution Act Do Check Goal to reach Web page response time < 10 seconds NTICE
  21. 21. Plan Solution Act Do Check Setup your simulation environment • Tool: Apache JMeter – Test plan • Scenario • Thread Group • Measure NTICE
  22. 22. Plan Solution Act Do Check Setup your simulation environment • JMeter Test Plan: scenario NTICE
  23. 23. Plan Solution Act Do Check Setup your simulation environment • JMeter Test Plan: thread group 2 seconds delay NTICE 2 seconds delay ... 500 users
  24. 24. Plan Solution Act Do Check Setup your simulation environment • JMeter Test Plan: measure – Average web page response time (in ms) NTICE
  25. 25. Plan Solution Act Do Check Measure • Hardware NTICE
  26. 26. Plan Solution Act Do Check Measure • Software – Average web page response time – Logs (apache, MySQL, etc.) NTICE
  27. 27. Plan Solution Act Do Check 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.) NTICE
  28. 28. Results Our findings 1. 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
  29. 29. Results Use real server instead of VM 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.) NTICE
  30. 30. Results Choose the right DB engine 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.) NTICE
  31. 31. Results Add the right PHP accelerator 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.) NTICE
  32. 32. Results Our findings (Opcode Cache Benchmarks, 2013) NTICE
  33. 33. Results Update your LAMP components 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.) NTICE
  34. 34. Results Our findings Component Before Updated Apache 2.2.22 2.4.6 PHP 5.3 5.5.3 Update your LAMP components NTICE
  35. 35. Results Our findings • Detect slow queries and optimize them NTICE
  36. 36. Results Our findings • Detect slow queries and optimize them NTICE
  37. 37. In summary 5 tips for optimizing your Chamilo 1. 2. 3. 4. 5. Use a real server Choose the right DB engine for each table Update your LAMP components Add the Zend Optimizer+ accelerator Detect slow queries and optimize them NTICE
  38. 38. Current situation Measure this week with Chamilo 1.9.x # of users 425 560 507 493 532 600 725 460 750 NTICE Chamilo response time [ms] 483
  39. 39. Current situation Measure this week Chamilo response time < 1 second NTICE
  40. 40. Thank you NTICE

×