Optimization of LMS for Improving User Response Time · 1 Open Source LMS’s are edX, Moodle,...

Post on 23-Aug-2020

3 views 0 download

transcript

[?]??45PluginsDoc-Start

Optimization of LMS for Improving UserResponse Time

B RAJU(rajub@cse.iitb.ac.in)

Dept. of Computer Science and EngineeringIIT Bombay

30 October 2013

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 0 / 49

Outline

LMS

Moodle

Problem Statement

edX

Conclusion and Future work

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 1 / 49

Part I

Learning ManagementSystem

Learning Management System

Comparison

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 3 / 49

Learning Management System Basic functionalities of every LMS

Basic functionalities of every LMS

The following features are required for LMS in an e-learning process.Modular structureDiscussion forums, group workVideo conferencing supportOnline exam, exam modulechat, wiki, survey, search, WhiteboardBackup supportXML support to work with different systemsMultiple language support

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 4 / 49

Learning Management System Basic functionalities of every LMS

Basic functionalities of every LMS

The following features are required for LMS in an e-learning process.Modular structureDiscussion forums, group workVideo conferencing supportOnline exam, exam modulechat, wiki, survey, search, WhiteboardBackup supportXML support to work with different systemsMultiple language support

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 4 / 49

Learning Management System Basic functionalities of every LMS

Basic functionalities of every LMS

The following features are required for LMS in an e-learning process.Modular structureDiscussion forums, group workVideo conferencing supportOnline exam, exam modulechat, wiki, survey, search, WhiteboardBackup supportXML support to work with different systemsMultiple language support

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 4 / 49

Learning Management System Basic functionalities of every LMS

Basic functionalities of every LMS

The following features are required for LMS in an e-learning process.Modular structureDiscussion forums, group workVideo conferencing supportOnline exam, exam modulechat, wiki, survey, search, WhiteboardBackup supportXML support to work with different systemsMultiple language support

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 4 / 49

Learning Management System Basic functionalities of every LMS

Basic functionalities of every LMS

The following features are required for LMS in an e-learning process.Modular structureDiscussion forums, group workVideo conferencing supportOnline exam, exam modulechat, wiki, survey, search, WhiteboardBackup supportXML support to work with different systemsMultiple language support

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 4 / 49

Learning Management System Basic functionalities of every LMS

Basic functionalities of every LMS

The following features are required for LMS in an e-learning process.Modular structureDiscussion forums, group workVideo conferencing supportOnline exam, exam modulechat, wiki, survey, search, WhiteboardBackup supportXML support to work with different systemsMultiple language support

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 4 / 49

Learning Management System Basic functionalities of every LMS

Basic functionalities of every LMS

The following features are required for LMS in an e-learning process.Modular structureDiscussion forums, group workVideo conferencing supportOnline exam, exam modulechat, wiki, survey, search, WhiteboardBackup supportXML support to work with different systemsMultiple language support

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 4 / 49

Learning Management System Basic functionalities of every LMS

Basic functionalities of every LMS

The following features are required for LMS in an e-learning process.Modular structureDiscussion forums, group workVideo conferencing supportOnline exam, exam modulechat, wiki, survey, search, WhiteboardBackup supportXML support to work with different systemsMultiple language support

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 4 / 49

Learning Management System Open Source and Proprietary LMS

Types of LMS

LMS are available in proprietary as well as Open source[moo].1 Open Source LMS’s are edX, Moodle, ATutor, SAKAI, WebCT,

Dokeos, Claroline, and so on.2 Commercial LMS’s are Blackboard, Desire2Learn, ANGEL

Learning Management Suite, KEWL, and eCollege.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 5 / 49

Learning Management System Open Source and Proprietary LMS

Types of LMS

LMS are available in proprietary as well as Open source[moo].1 Open Source LMS’s are edX, Moodle, ATutor, SAKAI, WebCT,

Dokeos, Claroline, and so on.2 Commercial LMS’s are Blackboard, Desire2Learn, ANGEL

Learning Management Suite, KEWL, and eCollege.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 5 / 49

Learning Management System Feature Comparison of LMS

Feature Comparison of LMSs

Feature Moodle edX Blackboard Desire2Learn1. Learner Tools

1.1 Communication ToolsDiscussion Forums Y Y Y YDiscussion Management Y Y Y YFile Exchange Y Y Y YInternal Email Y Y Y YOnline Journal/Notes Y Y Y YReal-Time chat Y Y Y YVideo services Y Y N Ywhiteboard Y Y Y Y

1.2. Productivity ToolsBook Marks N N N NCalendar/Progress review Y Y Y YOrientation/Help Y Y Y YSearching Within Course Y Y Y YWork Offline/Synchronize Y Y Y Y

1.3 Student Involvement ToolsGroup work Y Y Y YStudent Community Building Y Y Y YStudent Portfolios Y Y Y YTotal features 16 16 16 16Total available feature 15 15 14 15Total missing features 1 1 2 1

Table: Learner tools[LMH09, AAZ08, HT12, edxa]

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 6 / 49

Learning Management System Feature Comparison of LMS

Feature Comparison of LMSs(Cont..)

Feature Moodle edX Blackboard Desire2Learn2. Support Tools

2.1 Administration ToolsAuthentication Y Y Y YCourse authentication Y Y Y YHosted Services Y Y Y YRegistration Integration Y Y Y Y

2.2 Course Delivery ToolsTest types Y Y Y YAutomated Testing Management Y Y Y YAutomated testing Support Y Y Y YCourse Management Y Y Y YOnline Grading Y Y Y Ystudent tracking Y Y Y Y

2.3 Content Development ToolsAccessibility Compilance Y Y Y Ycontent sharing /reuse Y Y N Ycourse templates Y Y Y YCustomized Look and Feel Y Y Y YInstruction Design Y Y Y YInstructional standards compliance Y Y Y YTotal features 16 16 16 16Total available feature 16 16 15 16Total mission features 0 0 1 0

Table: Support tools[LMH09, AAZ08, HT12, edxa]

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 7 / 49

Learning Management System Feature Comparison of LMS

Feature Comparison of LMS(cont..)

Feature Moodle edX Blackboard Desire2Learn3. Technical Specifications

3.1 Hardware/SoftwareClient Browser required Y Y Y YDatabase Requirements Y Y Y YUnix Server Y Y Y YWindows server Y Y Y Y

3.2 Pricing/LicensingCompany profile N Y Y YCosts Y Y N NOpen source Y Y N NOptional extras Y Y Y YTotal features 8 8 8 8Total available features 7 8 6 6total missing features 1 0 2 2

Table: Technical specifications[LMH09, AAZ08, HT12, edxa]

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 8 / 49

Learning Management System Observations

Observations

1 We can conclude that Moodle and edX support almost allfeatures compare to commercial software.

2 Moodle LMS does not support bookmarking and companyprofile.

3 If we add these features, then Moodle will work in moreproductive way.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 9 / 49

Learning Management System Observations

Observations

1 We can conclude that Moodle and edX support almost allfeatures compare to commercial software.

2 Moodle LMS does not support bookmarking and companyprofile.

3 If we add these features, then Moodle will work in moreproductive way.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 9 / 49

Learning Management System Observations

Observations

1 We can conclude that Moodle and edX support almost allfeatures compare to commercial software.

2 Moodle LMS does not support bookmarking and companyprofile.

3 If we add these features, then Moodle will work in moreproductive way.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 9 / 49

Part II

Moodle LMS

Moodle LMS

Primary goal of our project

Main goal of our project is improve the user response time.According to our institute Moodle system administration team,who conducted so-many courses with following configuration

RAM 96GBProcessor Intel xeonOperating System Ubuntu

Table: DBP Moodle System Configuration

Moodle does not have any problem up to 2,500 users.When they doubled users, performance issues of Moodle cameinto picture.They tried improving the performance of Moodle.Lastly, they concluded that bottleneck of Moodle is databaseserver.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 11 / 49

Moodle LMS

Primary goal of our project

Main goal of our project is improve the user response time.According to our institute Moodle system administration team,who conducted so-many courses with following configuration

RAM 96GBProcessor Intel xeonOperating System Ubuntu

Table: DBP Moodle System Configuration

Moodle does not have any problem up to 2,500 users.When they doubled users, performance issues of Moodle cameinto picture.They tried improving the performance of Moodle.Lastly, they concluded that bottleneck of Moodle is databaseserver.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 11 / 49

Moodle LMS

Primary goal of our project

Main goal of our project is improve the user response time.According to our institute Moodle system administration team,who conducted so-many courses with following configuration

RAM 96GBProcessor Intel xeonOperating System Ubuntu

Table: DBP Moodle System Configuration

Moodle does not have any problem up to 2,500 users.When they doubled users, performance issues of Moodle cameinto picture.They tried improving the performance of Moodle.Lastly, they concluded that bottleneck of Moodle is databaseserver.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 11 / 49

Moodle LMS

Primary goal of our project

Main goal of our project is improve the user response time.According to our institute Moodle system administration team,who conducted so-many courses with following configuration

RAM 96GBProcessor Intel xeonOperating System Ubuntu

Table: DBP Moodle System Configuration

Moodle does not have any problem up to 2,500 users.When they doubled users, performance issues of Moodle cameinto picture.They tried improving the performance of Moodle.Lastly, they concluded that bottleneck of Moodle is databaseserver.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 11 / 49

Moodle LMS

Primary goal of our project

Main goal of our project is improve the user response time.According to our institute Moodle system administration team,who conducted so-many courses with following configuration

RAM 96GBProcessor Intel xeonOperating System Ubuntu

Table: DBP Moodle System Configuration

Moodle does not have any problem up to 2,500 users.When they doubled users, performance issues of Moodle cameinto picture.They tried improving the performance of Moodle.Lastly, they concluded that bottleneck of Moodle is databaseserver.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 11 / 49

Moodle LMS

Outline Moodle LMS

Introduction

Standatd Moodle Functionalities

PluginsDatabase

1 Server Architecture2 Tables classification

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 12 / 49

Moodle LMS

Outline Moodle LMS

Introduction

Standatd Moodle Functionalities

PluginsDatabase

1 Server Architecture2 Tables classification

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 12 / 49

Moodle LMS

Outline Moodle LMS

Introduction

Standatd Moodle Functionalities

PluginsDatabase

1 Server Architecture2 Tables classification

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 12 / 49

Moodle LMS

Outline Moodle LMS

Introduction

Standatd Moodle Functionalities

PluginsDatabase

1 Server Architecture2 Tables classification

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 12 / 49

Moodle LMS

Outline Moodle LMS

Introduction

Standatd Moodle Functionalities

PluginsDatabase

1 Server Architecture2 Tables classification

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 12 / 49

Moodle LMS

Outline Moodle LMS

Introduction

Standatd Moodle Functionalities

PluginsDatabase

1 Server Architecture2 Tables classification

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 12 / 49

Moodle LMS Introduction

Moodle Introduction

Moodle is used for primary and secondary schools, non-profitorganizations, hospitals, private companies, libraries.Standard Moodle includes core Moodle modules and differenttypes of plugins.Core of Moodle

1 Courses and Activities2 Users3 User functionalities4 Logs and Statistics5 Libraries

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 13 / 49

Moodle LMS Introduction

Moodle Introduction

Moodle is used for primary and secondary schools, non-profitorganizations, hospitals, private companies, libraries.Standard Moodle includes core Moodle modules and differenttypes of plugins.Core of Moodle

1 Courses and Activities2 Users3 User functionalities4 Logs and Statistics5 Libraries

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 13 / 49

Moodle LMS Introduction

Moodle Introduction

Moodle is used for primary and secondary schools, non-profitorganizations, hospitals, private companies, libraries.Standard Moodle includes core Moodle modules and differenttypes of plugins.Core of Moodle

1 Courses and Activities2 Users3 User functionalities4 Logs and Statistics5 Libraries

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 13 / 49

Moodle LMS Introduction

Moodle Introduction

Moodle is used for primary and secondary schools, non-profitorganizations, hospitals, private companies, libraries.Standard Moodle includes core Moodle modules and differenttypes of plugins.Core of Moodle

1 Courses and Activities2 Users3 User functionalities4 Logs and Statistics5 Libraries

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 13 / 49

Moodle LMS Introduction

Moodle Introduction

Moodle is used for primary and secondary schools, non-profitorganizations, hospitals, private companies, libraries.Standard Moodle includes core Moodle modules and differenttypes of plugins.Core of Moodle

1 Courses and Activities2 Users3 User functionalities4 Logs and Statistics5 Libraries

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 13 / 49

Moodle LMS Introduction

Moodle Introduction

Moodle is used for primary and secondary schools, non-profitorganizations, hospitals, private companies, libraries.Standard Moodle includes core Moodle modules and differenttypes of plugins.Core of Moodle

1 Courses and Activities2 Users3 User functionalities4 Logs and Statistics5 Libraries

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 13 / 49

Moodle LMS Introduction

Moodle Introduction

Moodle is used for primary and secondary schools, non-profitorganizations, hospitals, private companies, libraries.Standard Moodle includes core Moodle modules and differenttypes of plugins.Core of Moodle

1 Courses and Activities2 Users3 User functionalities4 Logs and Statistics5 Libraries

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 13 / 49

Moodle LMS Introduction

Moodle Introduction

Moodle is used for primary and secondary schools, non-profitorganizations, hospitals, private companies, libraries.Standard Moodle includes core Moodle modules and differenttypes of plugins.Core of Moodle

1 Courses and Activities2 Users3 User functionalities4 Logs and Statistics5 Libraries

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 13 / 49

Moodle LMS Standard Moodle Functionalities

Major Moodle Functionalities

Assignment SubmissionDiscussion ForumsFile DownloadGrading, Chat, Wiki, Online CalendarOnline news and announcement (College and course level)Conducting online quizMulti language supportModular, i.e., can be extended by creating pluginsReport (Which can be used for tracing or analyzing the userlogs)

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 14 / 49

Moodle LMS Users

Users in Moodle

The following users access Moodle with their authentication level

Figure: User Authentication Levels[AAZ08]

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 15 / 49

Moodle LMS Developer perspective

Developers Perspective

1 Entire Moodle LMS contains 1.488 Million Lines of Code2 Organization of code follows transaction script approach

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 16 / 49

Moodle LMS Plugins

Classification of Moodle plugins

Activities: The main student activities in a courseUsers: managing usersReports: administrators, teachers and general users.Grade bookCache

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 17 / 49

Moodle LMS Plugins

Classification of Moodle plugins (Cont..)

Admin tools: Provides utility scripts useful for admins to examineand modify a Moodle siteBlocks: add to courses or home pagesThemes: change look and feel of your site or courseCourse formats: Change the structure (or) layout of coursepagesFilters: can process and change textGeneral pluginsEditorsPlagiarism

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 18 / 49

Moodle LMS Plugins

Classification of Moodle plugins (Cont..)

Admin tools: Provides utility scripts useful for admins to examineand modify a Moodle siteBlocks: add to courses or home pagesThemes: change look and feel of your site or courseCourse formats: Change the structure (or) layout of coursepagesFilters: can process and change textGeneral pluginsEditorsPlagiarism

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 18 / 49

Moodle LMS Plugins

Classification of Moodle plugins (Cont..)

Admin tools: Provides utility scripts useful for admins to examineand modify a Moodle siteBlocks: add to courses or home pagesThemes: change look and feel of your site or courseCourse formats: Change the structure (or) layout of coursepagesFilters: can process and change textGeneral pluginsEditorsPlagiarism

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 18 / 49

Moodle LMS Plugins

Classification of Moodle plugins (Cont..)

Admin tools: Provides utility scripts useful for admins to examineand modify a Moodle siteBlocks: add to courses or home pagesThemes: change look and feel of your site or courseCourse formats: Change the structure (or) layout of coursepagesFilters: can process and change textGeneral pluginsEditorsPlagiarism

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 18 / 49

Moodle LMS Plugins

Classification of Moodle plugins (Cont..)

Admin tools: Provides utility scripts useful for admins to examineand modify a Moodle siteBlocks: add to courses or home pagesThemes: change look and feel of your site or courseCourse formats: Change the structure (or) layout of coursepagesFilters: can process and change textGeneral pluginsEditorsPlagiarism

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 18 / 49

Moodle LMS Plugins

Classification of Moodle plugins (Cont..)

Admin tools: Provides utility scripts useful for admins to examineand modify a Moodle siteBlocks: add to courses or home pagesThemes: change look and feel of your site or courseCourse formats: Change the structure (or) layout of coursepagesFilters: can process and change textGeneral pluginsEditorsPlagiarism

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 18 / 49

Moodle LMS Plugins

Classification of Moodle plugins (Cont..)

Admin tools: Provides utility scripts useful for admins to examineand modify a Moodle siteBlocks: add to courses or home pagesThemes: change look and feel of your site or courseCourse formats: Change the structure (or) layout of coursepagesFilters: can process and change textGeneral pluginsEditorsPlagiarism

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 18 / 49

Moodle LMS Plugins

Classification of Moodle plugins (Cont..)

Admin tools: Provides utility scripts useful for admins to examineand modify a Moodle siteBlocks: add to courses or home pagesThemes: change look and feel of your site or courseCourse formats: Change the structure (or) layout of coursepagesFilters: can process and change textGeneral pluginsEditorsPlagiarism

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 18 / 49

Moodle DB

Moodle database

Moodle Database support MySQL, PostgreSQL, SQLite, andOracle. In our case, we are using MySQL.Moodle database schema contains 314 tables.These tables is contain core database tables, and plugin tables.The Moodle database structure is defined in install.xml filesinside the db folder in each plugin.Uses XML for updating Moodle databaseMoodle uses InnoDB storage engine as default one.Moodle 1.9 or earlier versions are using MYISAM storage engine

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 19 / 49

Moodle DB

Moodle database

Moodle Database support MySQL, PostgreSQL, SQLite, andOracle. In our case, we are using MySQL.Moodle database schema contains 314 tables.These tables is contain core database tables, and plugin tables.The Moodle database structure is defined in install.xml filesinside the db folder in each plugin.Uses XML for updating Moodle databaseMoodle uses InnoDB storage engine as default one.Moodle 1.9 or earlier versions are using MYISAM storage engine

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 19 / 49

Moodle DB

Moodle database

Moodle Database support MySQL, PostgreSQL, SQLite, andOracle. In our case, we are using MySQL.Moodle database schema contains 314 tables.These tables is contain core database tables, and plugin tables.The Moodle database structure is defined in install.xml filesinside the db folder in each plugin.Uses XML for updating Moodle databaseMoodle uses InnoDB storage engine as default one.Moodle 1.9 or earlier versions are using MYISAM storage engine

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 19 / 49

Moodle DB

Moodle database

Moodle Database support MySQL, PostgreSQL, SQLite, andOracle. In our case, we are using MySQL.Moodle database schema contains 314 tables.These tables is contain core database tables, and plugin tables.The Moodle database structure is defined in install.xml filesinside the db folder in each plugin.Uses XML for updating Moodle databaseMoodle uses InnoDB storage engine as default one.Moodle 1.9 or earlier versions are using MYISAM storage engine

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 19 / 49

Moodle DB

Moodle database

Moodle Database support MySQL, PostgreSQL, SQLite, andOracle. In our case, we are using MySQL.Moodle database schema contains 314 tables.These tables is contain core database tables, and plugin tables.The Moodle database structure is defined in install.xml filesinside the db folder in each plugin.Uses XML for updating Moodle databaseMoodle uses InnoDB storage engine as default one.Moodle 1.9 or earlier versions are using MYISAM storage engine

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 19 / 49

Moodle DB

Moodle database

Moodle Database support MySQL, PostgreSQL, SQLite, andOracle. In our case, we are using MySQL.Moodle database schema contains 314 tables.These tables is contain core database tables, and plugin tables.The Moodle database structure is defined in install.xml filesinside the db folder in each plugin.Uses XML for updating Moodle databaseMoodle uses InnoDB storage engine as default one.Moodle 1.9 or earlier versions are using MYISAM storage engine

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 19 / 49

Moodle DB

Moodle database

Moodle Database support MySQL, PostgreSQL, SQLite, andOracle. In our case, we are using MySQL.Moodle database schema contains 314 tables.These tables is contain core database tables, and plugin tables.The Moodle database structure is defined in install.xml filesinside the db folder in each plugin.Uses XML for updating Moodle databaseMoodle uses InnoDB storage engine as default one.Moodle 1.9 or earlier versions are using MYISAM storage engine

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 19 / 49

Moodle DB Database server architecture

Moodle database server architecture

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 20 / 49

Moodle DB Database Tables

Classification of database tables

Activity ModulesCoursesGroupsGrade BookQuestion BankStatisticsBackup and restoreUsers and ProfilesRoles and Capabilities SystemBlocks

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 21 / 49

Moodle DB Database Tables

Classification of database tables(cont..)

Question TypesConfigurationLogging SystemBlocks SystemMoodle Network

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 22 / 49

Moodle DB Database logs

Database log

[<+->] There are two kinds of profiling; those are used for finding theperformance bottlenecks of Moodle database.

1 Application Profiling2 Server Profiling

We can find out where database server spends most of the time byusing server profiling. MySQL server has two kinds of query logs.

General query logSlow query log

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 23 / 49

Moodle DB Query logs

General query logAll queries which are received by the server, and queries that maynot be even executed once due to some error. It means, whateverserver receives those recorded in general query log

Slow query log

It will helpful for optimization, because it contains queries which aretaking long time to execute. Also it will record only successfulexecuted queries.The slow log file contains following metrics,

1 Query time2 Lock time3 Rows sent4 Rows examined

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 24 / 49

Moodle DB Query logs

General query logAll queries which are received by the server, and queries that maynot be even executed once due to some error. It means, whateverserver receives those recorded in general query log

Slow query log

It will helpful for optimization, because it contains queries which aretaking long time to execute. Also it will record only successfulexecuted queries.The slow log file contains following metrics,

1 Query time2 Lock time3 Rows sent4 Rows examined

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 24 / 49

Moodle DB Query logs

General query logAll queries which are received by the server, and queries that maynot be even executed once due to some error. It means, whateverserver receives those recorded in general query log

Slow query log

It will helpful for optimization, because it contains queries which aretaking long time to execute. Also it will record only successfulexecuted queries.The slow log file contains following metrics,

1 Query time2 Lock time3 Rows sent4 Rows examined

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 24 / 49

Moodle DB Query logs

General query logAll queries which are received by the server, and queries that maynot be even executed once due to some error. It means, whateverserver receives those recorded in general query log

Slow query log

It will helpful for optimization, because it contains queries which aretaking long time to execute. Also it will record only successfulexecuted queries.The slow log file contains following metrics,

1 Query time2 Lock time3 Rows sent4 Rows examined

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 24 / 49

Part III

Performance Testing Tools

Performance Testing Tools

Performance Testing Tools

In this project, the following performance testing tools[jme01, php]are going to use for finding the bottlenecks of Moodle databaseserver,

1 Jmeter2 mk-query-digest3 mysqltuner:

Analyzes your database server performance and, based on thestatistics it gathers, gives recommendations which variables youshould adjust in order to increase performance.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 26 / 49

Performance Testing Tools

Performance Testing Tools

In this project, the following performance testing tools[jme01, php]are going to use for finding the bottlenecks of Moodle databaseserver,

1 Jmeter2 mk-query-digest3 mysqltuner:

Analyzes your database server performance and, based on thestatistics it gathers, gives recommendations which variables youshould adjust in order to increase performance.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 26 / 49

Performance Testing Tools

Performance Testing Tools

In this project, the following performance testing tools[jme01, php]are going to use for finding the bottlenecks of Moodle databaseserver,

1 Jmeter2 mk-query-digest3 mysqltuner:

Analyzes your database server performance and, based on thestatistics it gathers, gives recommendations which variables youshould adjust in order to increase performance.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 26 / 49

Performance Testing Tools

Performance Testing Tools

In this project, the following performance testing tools[jme01, php]are going to use for finding the bottlenecks of Moodle databaseserver,

1 Jmeter2 mk-query-digest3 mysqltuner:

Analyzes your database server performance and, based on thestatistics it gathers, gives recommendations which variables youshould adjust in order to increase performance.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 26 / 49

Performance Testing Tools

Performance Testing Tools

In this project, the following performance testing tools[jme01, php]are going to use for finding the bottlenecks of Moodle databaseserver,

1 Jmeter2 mk-query-digest3 mysqltuner:

Analyzes your database server performance and, based on thestatistics it gathers, gives recommendations which variables youshould adjust in order to increase performance.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 26 / 49

Part IV

Project Plan

Project plan Moodle database server performance

Database server Performance

We are planning to find the bottleneck of the database server.Every year, IIT Bombay conduct the ten thousand teachersprogram for that they are using the Moodle for conducting theexams.Based on those peek time log results, we will identify bottleneckof database server.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 28 / 49

Project plan edX Scalability

edX scalability

1 MOOC does not give any idea on how many number of usersconcurrent users, it will support, time limit.

We will investigate, how many number of concurrent users edXplatform will support. For this reason we are going to study somebasic functionalities, modules, and database.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 29 / 49

Part V

edX

edX

Outline edX-Platform

Introduction

Major edX functionalities

Main Modules

Database

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 31 / 49

edX Introduction

edX introduction

edX is a non-profit organization which is formed by thecollaboration of Harvard and MIT.edX organization provides certificationIt is providing various assessment strategies[edxa] like

1 Peer assessment2 Staff assessment3 Instructor assessment4 Artificial Intelligence assessments

edX is available on Github websiteedX consist of Modular structureIt is developed in PythonThe code is being made available under an Affero GeneralPublic License.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 32 / 49

edX Introduction

edX introduction

edX is a non-profit organization which is formed by thecollaboration of Harvard and MIT.edX organization provides certificationIt is providing various assessment strategies[edxa] like

1 Peer assessment2 Staff assessment3 Instructor assessment4 Artificial Intelligence assessments

edX is available on Github websiteedX consist of Modular structureIt is developed in PythonThe code is being made available under an Affero GeneralPublic License.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 32 / 49

edX Introduction

edX introduction

edX is a non-profit organization which is formed by thecollaboration of Harvard and MIT.edX organization provides certificationIt is providing various assessment strategies[edxa] like

1 Peer assessment2 Staff assessment3 Instructor assessment4 Artificial Intelligence assessments

edX is available on Github websiteedX consist of Modular structureIt is developed in PythonThe code is being made available under an Affero GeneralPublic License.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 32 / 49

edX Introduction

edX introduction

edX is a non-profit organization which is formed by thecollaboration of Harvard and MIT.edX organization provides certificationIt is providing various assessment strategies[edxa] like

1 Peer assessment2 Staff assessment3 Instructor assessment4 Artificial Intelligence assessments

edX is available on Github websiteedX consist of Modular structureIt is developed in PythonThe code is being made available under an Affero GeneralPublic License.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 32 / 49

edX Introduction

edX introduction

edX is a non-profit organization which is formed by thecollaboration of Harvard and MIT.edX organization provides certificationIt is providing various assessment strategies[edxa] like

1 Peer assessment2 Staff assessment3 Instructor assessment4 Artificial Intelligence assessments

edX is available on Github websiteedX consist of Modular structureIt is developed in PythonThe code is being made available under an Affero GeneralPublic License.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 32 / 49

edX Introduction

edX introduction

edX is a non-profit organization which is formed by thecollaboration of Harvard and MIT.edX organization provides certificationIt is providing various assessment strategies[edxa] like

1 Peer assessment2 Staff assessment3 Instructor assessment4 Artificial Intelligence assessments

edX is available on Github websiteedX consist of Modular structureIt is developed in PythonThe code is being made available under an Affero GeneralPublic License.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 32 / 49

edX Introduction

edX introduction

edX is a non-profit organization which is formed by thecollaboration of Harvard and MIT.edX organization provides certificationIt is providing various assessment strategies[edxa] like

1 Peer assessment2 Staff assessment3 Instructor assessment4 Artificial Intelligence assessments

edX is available on Github websiteedX consist of Modular structureIt is developed in PythonThe code is being made available under an Affero GeneralPublic License.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 32 / 49

edX Introduction

edX introduction

edX is a non-profit organization which is formed by thecollaboration of Harvard and MIT.edX organization provides certificationIt is providing various assessment strategies[edxa] like

1 Peer assessment2 Staff assessment3 Instructor assessment4 Artificial Intelligence assessments

edX is available on Github websiteedX consist of Modular structureIt is developed in PythonThe code is being made available under an Affero GeneralPublic License.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 32 / 49

edX Introduction

edX introduction

edX is a non-profit organization which is formed by thecollaboration of Harvard and MIT.edX organization provides certificationIt is providing various assessment strategies[edxa] like

1 Peer assessment2 Staff assessment3 Instructor assessment4 Artificial Intelligence assessments

edX is available on Github websiteedX consist of Modular structureIt is developed in PythonThe code is being made available under an Affero GeneralPublic License.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 32 / 49

edX Introduction

edX introduction

edX is a non-profit organization which is formed by thecollaboration of Harvard and MIT.edX organization provides certificationIt is providing various assessment strategies[edxa] like

1 Peer assessment2 Staff assessment3 Instructor assessment4 Artificial Intelligence assessments

edX is available on Github websiteedX consist of Modular structureIt is developed in PythonThe code is being made available under an Affero GeneralPublic License.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 32 / 49

edX Introduction

edX introduction

edX is a non-profit organization which is formed by thecollaboration of Harvard and MIT.edX organization provides certificationIt is providing various assessment strategies[edxa] like

1 Peer assessment2 Staff assessment3 Instructor assessment4 Artificial Intelligence assessments

edX is available on Github websiteedX consist of Modular structureIt is developed in PythonThe code is being made available under an Affero GeneralPublic License.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 32 / 49

edX Architecture

edX Architecture[edxb]

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 33 / 49

edX Modules

edX Modules

The following modules are basic modules[edxa] for edX1 edX Platform2 edX-ORA3 codejail4 xqueue5 cs_comment_service

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 34 / 49

edX Modules

edX Modules

The following modules are basic modules[edxa] for edX1 edX Platform2 edX-ORA3 codejail4 xqueue5 cs_comment_service

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 34 / 49

edX Modules

edX Modules

The following modules are basic modules[edxa] for edX1 edX Platform2 edX-ORA3 codejail4 xqueue5 cs_comment_service

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 34 / 49

edX Modules

edX Modules

The following modules are basic modules[edxa] for edX1 edX Platform2 edX-ORA3 codejail4 xqueue5 cs_comment_service

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 34 / 49

edX Modules

edX Modules

The following modules are basic modules[edxa] for edX1 edX Platform2 edX-ORA3 codejail4 xqueue5 cs_comment_service

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 34 / 49

edX Database

edX Database

1 edX database system uses Sqlite and Mongodb2 It is built on python framework known as django3 Sqlite stores user information4 MongoDB is used to store course information; it is

document-oriented database

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 35 / 49

edX Database

edX Database

1 edX database system uses Sqlite and Mongodb2 It is built on python framework known as django3 Sqlite stores user information4 MongoDB is used to store course information; it is

document-oriented database

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 35 / 49

edX Database

edX Database

1 edX database system uses Sqlite and Mongodb2 It is built on python framework known as django3 Sqlite stores user information4 MongoDB is used to store course information; it is

document-oriented database

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 35 / 49

edX Database

edX Database

1 edX database system uses Sqlite and Mongodb2 It is built on python framework known as django3 Sqlite stores user information4 MongoDB is used to store course information; it is

document-oriented database

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 35 / 49

Part VI

Conclusion and Future work

Conclusion and Feature Work

Conclusion and Future work

Conclusion

1 We did features comparison of LMSs.Studied in detailed structure of Moodle, functionalities, pluginclassifications, Database server architecture, database tables.Some performance testing tool details and its usage, and performedsome priliminary experiments (Shown in next few slides).Basic literature survey on edX which includes edX modules, edXdatabase, technologies used in edX.

Future work

2 3 4 1 In next one or two months, we will find out database serverperformance bottlenecks, and we will resolve it.Later, We will investigate scalability of edX.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 37 / 49

Conclusion and Feature Work

Conclusion and Future work

Conclusion

2 1 We did features comparison of LMSs.Studied in detailed structure of Moodle, functionalities, pluginclassifications, Database server architecture, database tables.Some performance testing tool details and its usage, and performedsome priliminary experiments (Shown in next few slides).Basic literature survey on edX which includes edX modules, edXdatabase, technologies used in edX.

Future work

2 3 4 1 In next one or two months, we will find out database serverperformance bottlenecks, and we will resolve it.Later, We will investigate scalability of edX.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 37 / 49

Conclusion and Feature Work

Conclusion and Future work

Conclusion

2 1 We did features comparison of LMSs.Studied in detailed structure of Moodle, functionalities, pluginclassifications, Database server architecture, database tables.Some performance testing tool details and its usage, and performedsome priliminary experiments (Shown in next few slides).Basic literature survey on edX which includes edX modules, edXdatabase, technologies used in edX.

Future work

2 3 4 1 In next one or two months, we will find out database serverperformance bottlenecks, and we will resolve it.Later, We will investigate scalability of edX.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 37 / 49

Conclusion and Feature Work

Conclusion and Future work

Conclusion

2 1 We did features comparison of LMSs.Studied in detailed structure of Moodle, functionalities, pluginclassifications, Database server architecture, database tables.Some performance testing tool details and its usage, and performedsome priliminary experiments (Shown in next few slides).Basic literature survey on edX which includes edX modules, edXdatabase, technologies used in edX.

Future work

2 3 4 1 In next one or two months, we will find out database serverperformance bottlenecks, and we will resolve it.Later, We will investigate scalability of edX.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 37 / 49

Conclusion and Feature Work

Conclusion and Future work

Conclusion

2 1 We did features comparison of LMSs.Studied in detailed structure of Moodle, functionalities, pluginclassifications, Database server architecture, database tables.Some performance testing tool details and its usage, and performedsome priliminary experiments (Shown in next few slides).Basic literature survey on edX which includes edX modules, edXdatabase, technologies used in edX.

Future work

2 3 4 1 In next one or two months, we will find out database serverperformance bottlenecks, and we will resolve it.Later, We will investigate scalability of edX.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 37 / 49

Conclusion and Feature Work

Conclusion and Future work

Conclusion

2 1 We did features comparison of LMSs.Studied in detailed structure of Moodle, functionalities, pluginclassifications, Database server architecture, database tables.Some performance testing tool details and its usage, and performedsome priliminary experiments (Shown in next few slides).Basic literature survey on edX which includes edX modules, edXdatabase, technologies used in edX.

Future work

2 3 4 1 In next one or two months, we will find out database serverperformance bottlenecks, and we will resolve it.Later, We will investigate scalability of edX.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 37 / 49

Conclusion and Feature Work

Conclusion and Future work

Conclusion

2 1 We did features comparison of LMSs.Studied in detailed structure of Moodle, functionalities, pluginclassifications, Database server architecture, database tables.Some performance testing tool details and its usage, and performedsome priliminary experiments (Shown in next few slides).Basic literature survey on edX which includes edX modules, edXdatabase, technologies used in edX.

Future work

2 3 4 1 In next one or two months, we will find out database serverperformance bottlenecks, and we will resolve it.Later, We will investigate scalability of edX.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 37 / 49

Conclusion and Feature Work

Conclusion and Future work

Conclusion

2 1 We did features comparison of LMSs.Studied in detailed structure of Moodle, functionalities, pluginclassifications, Database server architecture, database tables.Some performance testing tool details and its usage, and performedsome priliminary experiments (Shown in next few slides).Basic literature survey on edX which includes edX modules, edXdatabase, technologies used in edX.

Future work

2 3 4 1 In next one or two months, we will find out database serverperformance bottlenecks, and we will resolve it.Later, We will investigate scalability of edX.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 37 / 49

Conclusion and Feature Work

Conclusion and Future work

Conclusion

2 1 We did features comparison of LMSs.Studied in detailed structure of Moodle, functionalities, pluginclassifications, Database server architecture, database tables.Some performance testing tool details and its usage, and performedsome priliminary experiments (Shown in next few slides).Basic literature survey on edX which includes edX modules, edXdatabase, technologies used in edX.

Future work

2 3 4 1 In next one or two months, we will find out database serverperformance bottlenecks, and we will resolve it.Later, We will investigate scalability of edX.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 37 / 49

Conclusion and Feature Work

Conclusion and Future work

Conclusion

2 1 We did features comparison of LMSs.Studied in detailed structure of Moodle, functionalities, pluginclassifications, Database server architecture, database tables.Some performance testing tool details and its usage, and performedsome priliminary experiments (Shown in next few slides).Basic literature survey on edX which includes edX modules, edXdatabase, technologies used in edX.

Future work

2 3 4 1 In next one or two months, we will find out database serverperformance bottlenecks, and we will resolve it.Later, We will investigate scalability of edX.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 37 / 49

Moodle Observations

Observations on Moodle LMS

2 Moodle can be operated by only IT experts[Joh13]While installation time, users need to know the minimumtechnical terminologyMost of the Moodle communities are in English language only.It requires course managerMoodle database server and webserver need to maintainseparately otherwise, it leads to database crash (or) securityproblems[AAZ08]Database table index occupies more space compare to actualdata in small number of user database.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 38 / 49

Thank You

Preliminary Experiments and analysis

Preliminary analysis (Moodle Database Tables)

RAM 4GBProcessor Intel Core i3-2370MOperating System Ubuntu 12.04 LTSHard Disk 320GB

1 We had conducted one quiz on both LMS’s which consists of 2questions those are Multiple choice question and short answerquestion

2 It is accessed 46 tables3 System Configuration

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 40 / 49

edX Database tables

edX database tables

The edX platform consist of total 88 tables including django’stables.Out of these, django database consist of total 11 tables in edX

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 41 / 49

edX Database tables classification

Database Tables classifications

1 Authentication2 Bulk_emails3 Celery4 Certificates5 Circuit6 Course7 Courseware8 Djcelery9 Licenses10 Notify11 Shopping Cart12 Tracking13 Verify14 Student15 Wiki

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 42 / 49

edX Database tables classification

Figure: Moodle Database crash

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 43 / 49

edX Preliminary experiments

Preliminary analysis (Database Tables) of quiz onedX

1 We had conducted one quiz on both LMS’s which consists of 2questions those are Multiple choice question and short answerquestion

2 It is accessed 10 tables

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 44 / 49

edX Preliminary experiments

edX tables

Table Name No. of Times Table Accessedcourseware_studentmodule 56auth_group 38Django_session 33courseware_xmodulecontentfield 19courseware_xmodulesettingsfiled 19Auth_user 10student_courseenrollment 6certificates_generatedcertificate 1external_auth_externalauthmap 1auth_userprofile 1

Table: list of edX database tables accessed for quiz

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 45 / 49

edX Preliminary experiments

Tools

Figure: mysqltuner tool

Figure: httpload tool

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 46 / 49

edX Preliminary experiments

References I

[AAZ08] A. Al-Ajlan and H. Zedan, Why moodle, Future Trends ofDistributed Computing Systems, 2008. FTDCS ’08. 12thIEEE International Workshop on, 2008,http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4683115, Accessed on 15th July 2013,pp. 58–64.

[edxa] https://www.edx.org/, [Online; Accessed on 1stAugust 2013].

[edxb] http://www.it.iitb.ac.in/arndg/dokuwiki/index.php/Fundamental_Research_Group#Projects_2,[Online; Accessed on 14th October 2013].

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 47 / 49

edX Preliminary experiments

References II

[HT12] MULEMBWA MUNAKU HASHIM TWAKYONDO,Experience of course migration from blackboard to moodlelms â a case study from udsm, International Journal ofComputing and ICT Research 6 (Dec -2012), no. 2, 33–45,http://www.ijcir.org/volume6-issue2/articler4.pdf, Downloaded on 21st June 2013.

[jme01] Jmeter tool, http://jmeter.apache.org/, 2001,[Online; accessed 15-July-2013].

[Joh13] HyunChul Joh, Modeling security vulnerabilities in learningmanagement systems, Int. J. Learn. Man. Sys 1 (2013),no. 2, 1–12, www.naturalspublishing.com/files/published/b88l668wl88ur8.pdf, Accessed on 19thseptember 2013.

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 48 / 49

edX Preliminary experiments

References III

[LMH09] Jing Liu, Hailong Men, and Jun Han, Comparative study ofopen-source e-learning management platform,Computational Intelligence and Software Engineering,2009. CiSE 2009. International Conference on, IEEE,2009, http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5365185&tag=1, Retrived on 10August 2013, pp. 1–4.

[moo] http://en.wikipedia.org/wiki/Moodle, [Online;accessed 2-July-2013].

[php] http://docs.phpmyadmin.net/en/latest/, [Online;accessed 5th-August-2013].

B. RAJU (IIT Bombay) LMS Optimization 30 October 2013 49 / 49