Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Optimizing the performance of your LMS

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

  • Be the first to comment

  • Be the first to like this

Optimizing the performance of your 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

×