SlideShare uma empresa Scribd logo
1 de 40
Optimizing the performance of your LMS:
example with Chamilo
Patrick Roth, Abderrahim Oulmi, Laurent
Opprecht, Olivier Jeannin

NTICE
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)
– Workshops (Chamilo, Mahara, RCFE, etc.)
– Techno-pedagogical advice
– Copyright Expertise
– Events (BarCamp, webinars, workshops, etc.)

NTICE
Institutional context
Dokeos@unige.ch
– # Users: 18059
• # Teachers: 1571
• # Students: 16488

– # Active courses: 2068

NTICE
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-Oct-12 5-Oct-12 6-Oct-12 7-Oct-12

NTICE
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

NTICE

• Act
– Find the right optimization
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 psychology
and behavior”
(WebSiteOptimization, 2008)

NTICE
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
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
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 Group
• Measure

NTICE
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

2 seconds
delay

...

500 users
Plan

Solution

Act

Do

Check

Setup your simulation environment
• JMeter Test Plan: measure
– Average web page response time (in ms)

NTICE
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.)
• 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
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
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
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
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
Results
Our findings

(Opcode Cache Benchmarks, 2013)

NTICE
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
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.
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
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
Current situation
Measure this week

Chamilo response time < 1 second

NTICE
Thank you

NTICE

Mais conteúdo relacionado

Semelhante a Optimizing the performance of your LMS

Website performance optimization QA
Website performance optimization QAWebsite performance optimization QA
Website performance optimization QA
Denis Dudaev
 
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nl
bartzon
 
20151021_DataScienceMeetup_revised
20151021_DataScienceMeetup_revised20151021_DataScienceMeetup_revised
20151021_DataScienceMeetup_revised
rerngvit yanggratoke
 
Lessons Learned from Building SW at Google
Lessons Learned from Building SW at GoogleLessons Learned from Building SW at Google
Lessons Learned from Building SW at Google
adrianionel
 

Semelhante a Optimizing the performance of your LMS (20)

Optimising Queries - Series 1 Query Optimiser Architecture
Optimising Queries - Series 1 Query Optimiser ArchitectureOptimising Queries - Series 1 Query Optimiser Architecture
Optimising Queries - Series 1 Query Optimiser Architecture
 
A machine learning and data science pipeline for real companies
A machine learning and data science pipeline for real companiesA machine learning and data science pipeline for real companies
A machine learning and data science pipeline for real companies
 
Performance Troubleshooting Using Apache Spark Metrics
Performance Troubleshooting Using Apache Spark MetricsPerformance Troubleshooting Using Apache Spark Metrics
Performance Troubleshooting Using Apache Spark Metrics
 
Adventures in Observability - Clickhouse and Instana
Adventures in Observability - Clickhouse and InstanaAdventures in Observability - Clickhouse and Instana
Adventures in Observability - Clickhouse and Instana
 
Adventures in Observability: How in-house ClickHouse deployment enabled Inst...
 Adventures in Observability: How in-house ClickHouse deployment enabled Inst... Adventures in Observability: How in-house ClickHouse deployment enabled Inst...
Adventures in Observability: How in-house ClickHouse deployment enabled Inst...
 
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
 
Database Fundamental Concepts- Series 1 - Performance Analysis
Database Fundamental Concepts- Series 1 - Performance AnalysisDatabase Fundamental Concepts- Series 1 - Performance Analysis
Database Fundamental Concepts- Series 1 - Performance Analysis
 
The Web Scale
The Web ScaleThe Web Scale
The Web Scale
 
Geek Sync I Learn to Troubleshoot Query Performance in Analysis Services
Geek Sync I Learn to Troubleshoot Query Performance in Analysis ServicesGeek Sync I Learn to Troubleshoot Query Performance in Analysis Services
Geek Sync I Learn to Troubleshoot Query Performance in Analysis Services
 
Capacity Planning
Capacity PlanningCapacity Planning
Capacity Planning
 
Website performance optimization QA
Website performance optimization QAWebsite performance optimization QA
Website performance optimization QA
 
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nl
 
Unbundling the Modern Streaming Stack With Dunith Dhanushka | Current 2022
Unbundling the Modern Streaming Stack With Dunith Dhanushka | Current 2022Unbundling the Modern Streaming Stack With Dunith Dhanushka | Current 2022
Unbundling the Modern Streaming Stack With Dunith Dhanushka | Current 2022
 
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nl
 
2010/10 - Database Architechs - Perf. & Tuning Tools
2010/10 - Database Architechs - Perf. & Tuning Tools2010/10 - Database Architechs - Perf. & Tuning Tools
2010/10 - Database Architechs - Perf. & Tuning Tools
 
20151021_DataScienceMeetup_revised
20151021_DataScienceMeetup_revised20151021_DataScienceMeetup_revised
20151021_DataScienceMeetup_revised
 
Product Overview: An Analytics Primer
Product Overview: An Analytics PrimerProduct Overview: An Analytics Primer
Product Overview: An Analytics Primer
 
Measuring CDN performance and why you're doing it wrong
Measuring CDN performance and why you're doing it wrongMeasuring CDN performance and why you're doing it wrong
Measuring CDN performance and why you're doing it wrong
 
Lessons Learned from Building SW at Google
Lessons Learned from Building SW at GoogleLessons Learned from Building SW at Google
Lessons Learned from Building SW at Google
 
Building Software Systems at Google and Lessons Learned
Building Software Systems at Google and Lessons LearnedBuilding Software Systems at Google and Lessons Learned
Building Software Systems at Google and Lessons Learned
 

Mais de Patrick Roth

Connecting the ePortfolio Mahara to the Cloud
Connecting the ePortfolio  Mahara to the CloudConnecting the ePortfolio  Mahara to the Cloud
Connecting the ePortfolio Mahara to the Cloud
Patrick Roth
 
Long-term Storage of Forgery-Proof Certificates: results and scenario
Long-term Storage of Forgery-Proof Certificates: results and scenarioLong-term Storage of Forgery-Proof Certificates: results and scenario
Long-term Storage of Forgery-Proof Certificates: results and scenario
Patrick Roth
 
“We are not alone!” – Truly exchanging Learning Objects between Moodle and ot...
“We are not alone!” – Truly exchanging Learning Objects between Moodle and ot...“We are not alone!” – Truly exchanging Learning Objects between Moodle and ot...
“We are not alone!” – Truly exchanging Learning Objects between Moodle and ot...
Patrick Roth
 

Mais de Patrick Roth (12)

Welcome Days 2019
Welcome Days 2019Welcome Days 2019
Welcome Days 2019
 
Welcome days 2018
Welcome days 2018Welcome days 2018
Welcome days 2018
 
Welcome days 2017
Welcome days 2017Welcome days 2017
Welcome days 2017
 
Welcome Days 2016 (english version)
Welcome Days 2016 (english version)Welcome Days 2016 (english version)
Welcome Days 2016 (english version)
 
Welcome days 2016
Welcome days 2016Welcome days 2016
Welcome days 2016
 
Welcome days
Welcome daysWelcome days
Welcome days
 
7 astuces informatiques à l'UNIGE
7 astuces informatiques à l'UNIGE7 astuces informatiques à l'UNIGE
7 astuces informatiques à l'UNIGE
 
Faire passer des examens sur Moodle: un retour d’expérience
Faire passer des examens sur Moodle: un retour d’expérienceFaire passer des examens sur Moodle: un retour d’expérience
Faire passer des examens sur Moodle: un retour d’expérience
 
Connecting the ePortfolio Mahara to the Cloud
Connecting the ePortfolio  Mahara to the CloudConnecting the ePortfolio  Mahara to the Cloud
Connecting the ePortfolio Mahara to the Cloud
 
Long-term Storage of Forgery-Proof Certificates: results and scenario
Long-term Storage of Forgery-Proof Certificates: results and scenarioLong-term Storage of Forgery-Proof Certificates: results and scenario
Long-term Storage of Forgery-Proof Certificates: results and scenario
 
ePortfolio Sustainability within Swiss Universities
ePortfolio Sustainability within Swiss UniversitiesePortfolio Sustainability within Swiss Universities
ePortfolio Sustainability within Swiss Universities
 
“We are not alone!” – Truly exchanging Learning Objects between Moodle and ot...
“We are not alone!” – Truly exchanging Learning Objects between Moodle and ot...“We are not alone!” – Truly exchanging Learning Objects between Moodle and ot...
“We are not alone!” – Truly exchanging Learning Objects between Moodle and ot...
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

Optimizing the performance of your LMS