Optimizing Moodle LMS to Improve User Response Time Summer Internship Project 2013 Under the...

download Optimizing Moodle LMS to Improve User Response Time Summer Internship Project 2013 Under the guidance of Professor D. B. Phatak Computer Science Department.

If you can't read please download the document

Transcript of Optimizing Moodle LMS to Improve User Response Time Summer Internship Project 2013 Under the...

  • Slide 1
  • Optimizing Moodle LMS to Improve User Response Time Summer Internship Project 2013 Under the guidance of Professor D. B. Phatak Computer Science Department Indian Institute of Technology, Bombay
  • Slide 2
  • Project In charge : Mr. Nagesh Karmali Team Members : Miss Priyanka Manchanda Miss. Akshaya Muralidharan Mr. Surya Pratap Singh Mr. Mevin Dominic Mr. Pawan Deshmukh Miss. Slipa Reddy Miss. Shabna T. R
  • Slide 3
  • Slide 4
  • Slide 5
  • Introduction to Moodle
  • Slide 6
  • Slide 7
  • Moodle Statistics
  • Slide 8
  • Moodle Architecture
  • Slide 9
  • FRONT END OPTIMIZATION
  • Slide 10
  • Techniques Discussed
  • Slide 11
  • Caching By Using Far Future Expires Header
  • Slide 12
  • Experimental Setup
  • Slide 13
  • Results Reduction of 74.14% in average user response time
  • Slide 14
  • Reduce DNS Lookups
  • Slide 15
  • Results Reduction of 1.84 seconds in average user response time if the page is found in DNS Cache
  • Slide 16
  • Reduce DNS Lookups
  • Slide 17
  • Results Scenario 2 provides the best results. Increasing the number of DNS cache entries Increasing DNS expiration period Network supports HTTP keep-alive Average
  • Slide 18
  • Gzip Components
  • Slide 19
  • Reduction of 617.818 KB in size of request after compression
  • Slide 20
  • Deactivating ETags
  • Slide 21
  • Caching AJAX Components
  • Slide 22
  • Slide 23
  • Study of Moodle Performance & Bottlenecks
  • Slide 24
  • Tests were conducted using JMeter JMeter plugin for Moodle generates scripts for different activity modules
  • Slide 25
  • Study of Moodle Performance & Bottlenecks
  • Slide 26
  • The tests are constructed for a built-in QUIZ plug-in on Moodle with 1 question which involves Login View Course View Quiz Start Attempt Submit Quiz Finish Attempt Logout.
  • Slide 27
  • Comparing Timers Constant Timer: Each thread pauses for the same amount of time between requests. Gaussian Random Timer: Each thread request for a random amount of time, with most of the time intervals occurring near a particular value. Uniform Random Timer: Each thread request for a random amount of time, with each time interval having the same probability of occurring. Constant Throughput Timer: This timer introduces variable pauses, calculated to keep the total throughput (in terms of samples per minute) as close as possible to a give figure. Synchronizing Timer: The purpose of the SyncTimer is to block threads until X number of threads have been blocked, and then they are all released at once.
  • Slide 28
  • Comparing Timers Average Response Time (ms)
  • Slide 29
  • Response Time vs Number of Users Server Details: 2 Intel Xeon 6 core processor, 96 GB RAM, 1 TB HDD Default Moodle setup with LAMP. Ramp-Up Period : 1 s (To simulate real time traffic) No. of loops : Forever We test until we obtain a java.net.connectionexception due to connection timeout. The number of threads is increased from 100 in steps of 100.
  • Slide 30
  • Response Time vs Number of Users
  • Slide 31
  • Back End Optimization
  • Slide 32
  • Moodle: Apache HTTP vs. LigHTTPd
  • Slide 33
  • Comparing Apache HTTP and Lighttpd
  • Slide 34
  • Overcoming Table Size Limitations
  • Slide 35
  • Improvement in Grading System
  • Slide 36
  • Slide 37
  • Removing irrelevant links during quiz
  • Slide 38
  • HARDWARE OPTIMIZATION MEVIN.M. DOMINIC & PRIYANKA MANCHANDA
  • Slide 39
  • SSD FEATURES
  • Slide 40
  • Slide 41
  • An Experiment On Quiz Module
  • Slide 42
  • Query Log Name of ActivityNumber of Queries Login177 View Course59 Quiz554 Logout89
  • Slide 43
  • Systems Used
  • Slide 44
  • Results(in s) For Single User Test No. Core i3 (HDD) (3M 2.40GHZ) Core i3 (HDD) (3M 2.40GHZ) Core i3 (HDD) (3M 2.40GHZ) Core i3 (HDD) (3M 2.40GHZ) Core i3 (HDD) (3M 2.40GHZ) 14.133.093.963.170.75 24.243.693.132.600.77 34.613.493.232.620.75 44.033.133.122.620.76
  • Slide 45
  • Factor - Single User
  • Slide 46
  • Results(in s) 100 users Core i5 (HDD) (6M 3.20GHZ) Core i5 (SSD) (6M 3.20GHZ) Time287.18777.881
  • Slide 47
  • Conclusion Factor of 3.5 for both single user and 100 users. The latency at the database can be reduced loading it in an SSD. MySQL database supports more users for higher RAM. Hence SSD servers (e.g. Power Edge Series-DELL) can boost up the performance of Moodle.
  • Slide 48
  • Focusing over client-server communication mechanism(Moodle Quiz).
  • Slide 49
  • Proposed Techniques for Experimentation
  • Slide 50
  • Long Polling
  • Slide 51
  • Figure Showing Long Polling
  • Slide 52
  • Implementation to Moodle & Results
  • Slide 53
  • Random Batch Mode Algorithm
  • Slide 54
  • Testing with JMeter and Results
  • Slide 55
  • POLICY ENFORCEMENT FRAMEWORK
  • Slide 56
  • Introduction
  • Slide 57
  • How it works??
  • Slide 58
  • Policy Details or Rules
  • Slide 59
  • POLICY ENFORCEMENT
  • Slide 60
  • Create policy
  • Slide 61
  • Slide 62
  • Add context
  • Slide 63
  • Slide 64
  • Edit policy
  • Slide 65
  • Slide 66
  • Resequence
  • Slide 67
  • Slide 68
  • Future Scope
  • Slide 69
  • What we learnt??
  • Slide 70
  • Tutorials on : Introduction to France Present Yourself Number Colours Days of the Week Translate an English word to French.
  • Slide 71
  • Abacus is a calculating tool for performing arithmetic operations. Standard Abacus with 9 beads in each column representing the face value. Has 10 columns where each column represents a place value. Displays net value on abacus
  • Slide 72
  • Parameters like Distance, velocity are varying at every instant of time. By pressing lap button we can record data in laps. Once we stop buttons change to resume or reset. We can manage things accordingly.
  • Slide 73
  • This application intends to convey the basics of searching algorithm and also explains deeply about the concept LINEAR SEARCH which comes under the topic of Data Structures And Algorithms. The application discusses the algorithm and C++ code for the same.
  • Slide 74
  • To thoroughly understand Mean, Median, Mode. a)Theory, b)Self-check calculator, c)Infinite question generation quiz section.
  • Slide 75
  • Time saving tips and tricks to perform maths calculations easily without using calculator. Helps the user a lot in improving his/her self confidence in maths Each and every trick is explained in a step by step manner with example
  • Slide 76
  • Learn the formulas on just a click! Math formulae is an educational application that helps the students to learn and solve formulas quickly with the help of rich graphical layout.
  • Slide 77
  • REFERENCES [1] S. Souders, High Performance Websites. O'Reilly Media, 2007. [2] Borg, A. (2009, December 17). Web Site Performance: When Seconds Count. Re-trieved June 4, 2013, from technewsworld.com: http://www.techhnewsworld.com/story/68918.html [3] http://en.wikipedia.org/wiki/Policy_framework [4]http://www.it.iitb.ac.in/arndg/dokuwiki/index.php/User:Kaustubh
  • Slide 78
  • THANK YOU