Optimization of LMS for Improving User Response Time · 1 Open Source LMS’s are edX, Moodle,...
Transcript of Optimization of LMS for Improving User Response Time · 1 Open Source LMS’s are edX, Moodle,...
[?]??45PluginsDoc-Start
Optimization of LMS for Improving UserResponse Time
B RAJU([email protected])
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