Load balancing clustering on moodle LMS to overcome performance issue of e-learning system

In dealing with the rapid growth of digitalization, the e-learning system has become a mandatory component of any Higher Education (HE) to serve academic processes requests. Along with the increasing number of users, the need for service availability and capabilities of eLearning are increasing day by day. The organization should always look for strategies to keep the eLearning always able to meet these demands. This report presents the implementation of Load Balancing Clustering (LBC) mechanism applied to Moodle LMS in an HE Institution to deal with the poor performance issues. By utilizing existing tools such as HAProxy and keepalived, the implemented LBC configuration delivers a qualified e-learning system performance. Both qualitative and quantitative parameters convince better performance than before. In four months of the operation there is no user complaint received. Meanwhile, in the current semester has been running for two months, the up-time is 99.8 % of 52.685 minutes operational time.


Introduction
E-learning has become the mandatory system operated by any educational institution to deal with the newest demand regarding the leveraging of Information Technology fast growth.Many benefits offered by e-learning system in the digital era.Some of those benefits are the flexibility and diversity of features, the flexibilities of timeliness, minimize the traveling efforts of learner which is mandatory in traditional learning, imparts the latest policies, ideas, and concepts in real time, and keeps the coursework refreshed and updated as required [1].As the user demands growth, the requirement of higher capability and capacity of e-learning infrastructures are also increasing day by day.Many methods and architectures have been proposed to overcome the infrastructure capabilities or performance issues.Some of them are a on premise platform, the others are on cloud platform [1,2].
One of the most important components to implement the e-learning system is the elearning application (Learning Management System/LMS).There are many ready to use LMSs as the proprietary software or as an open source.One of the most popular ones is Moodle [3,4].At the technical specification point of view, there are various types of the usage of Moodle ranging from standard modules to customize module.The implementation of Moodle customization covers the wide scope of the feature adjusted to the specific requirements of each organization.As the customization practical sample, Talbi O et.al [5] presents the result of MRP (Multi Role Project) integrated with Moodle.Another Moodle customization is discussed in [6].In this report, the author integrates Moodle LMS with Library system to facilitate the requirement of learning references.
Our study in this report elaborates the problem and proposed solution for the usage of Moodle LMS in University of Mercu Buana (UMB), a private university located in Jakarta Indonesia.UMB has been implementing Moodle LMS as the e-learning application tool to support its e-learning system since 2007.The usage of Moodle in the beginning was utilized as the complementary learning mechanism in the university.Now day's e-learning system has become mandatory to accommodate the stakeholder needs, technology leveraging, and to overcome many obstacles such as: the fast increasing of student number while the physical infrastructure (classroom) is limited, the traffic jam problem, etc. [7].The strategic aspects of the University's e-learning and its governance can be referred to [8].These two publications discuss the governance of e-learning system includes: the strategic alignment to University Goals, Resources Management, Risk Optimization, Organization Structure, and technical aspect recommendation as well.
Due the growing of student number, the e-learning problems and challenges must be solved is also increase and become more complex.From a technical point of view, the main challenge to be addressed is how to maintain the continuity of the availability of e-learning services while at the same time the number of users doubled.Currently, University's Moodle e-learning serves more than 30,000 students and around 1000 lecturers.Faced with this high user access demands, the e-learning system suffers in providing the qualified performance.At the peak time, mainly on weekend at 21.00-24.00,several times the system down and the learning process is halted.Whenever the system down in a certain period, half an hour maximum, and then the derivative problems will follow.Such those derivative problems are a: violation of a pre-defined class schedule, miscalculation of instructor fee, and learning outcame that cannot be achieved.
Triggered by this challenge we perform the study and implementation of Load Balancing Clustering to deal with the poor performance issues.The LBC Implementation is the most possible solution to distribute the massive load in the peak time.The implementation results are presented in this paper.As long as we know our solution is the first Moodle LMS LBC implementation in our country (Indonesia) that successfully able to handle more than 32.000 users.
The rest of the paper is organized as follows.In the second section, we discuss some related study of e-learning system mainly those that run on Moodle base.Section three describes the results of e-learning problem analysis related to its performance.The design and implementation of LBC are presented in section four.Results and discussion, section five, present the explanation of the outcome of LBC implementation.In the last section it will be discussed the potential of future works to improve the quality of the e-learning system.

Related Work
Along with the rapid development of digital technology today, e-learning has become the main tool for higher education institutions in performing the learning process.One of the most popular e-learning applications today is Moodle LMS.The popularity of Moodle LMS is convinced by the study performed by C. Lujan Garcia et al. [9].In the study author perform the study regarding the attractiveness of instructors and student to utilize the Moodle LMS in Universidad de Las Palmas de Gran Canaria (ULPGC).The results of this study indicate that the instructors and students feel comfortable and motivated in performing the learning process using Moodle which the space capacity has been increased.The effectiveness of Moodle customization for visual teaching purposes, in this case is Computer Architecture Course, is examined by Trenas et.al [10].The study reveals some findings include: 1.The usage of Moodle makes more students interest to follow the lecture, 2. During the second semester, the motivation of students to follow the lecture increases.3.During the last semester, the level of student errors in their work of final exam decreases.
The performance issues are the most popular challenge to be solved.Many methods have proposed to deal with the performance.In [11] the author discusses the adaptation of Load Balancing technique in cloud computing environment.They use the "Random Allocation Load balancing" technique for the Load Balancing scenario.Another Load Balancing scenario is presented in [12].In the publication, the authors discussed the architecture of Load Balancing applied to a distribution system.The architecture distributes functionalities of the e-learning into several web servers.Those servers have full synchronized content.Thus, each server is able to respond to any of the possible requests.
The successful operationalization of e-learning system is not an easy objective to achieve.There are many barriers or challenges have to be handled.Many reports of study or practical implementation confirm the difficulties of e-learning system implementation.One of the reports presents such thus problems are published in [13].In the study, the authors summarize challenges and barriers faced by instructors and students of Higher Education Institution in Taiwan.The finding shows that those challenges came from many aspects such as pedagogy, personal, technical infrastructures as well.The majority of instructors stated that personal time 133 management is the most difficult barriers to solve.The specific technical aspects are found in the University of Jordan when the institution applies Moodle LMS platform as presented in [14].Some of these technical aspects are computer laboratory problem, the limited capacity of the network infrastructure, unavailability of user guidance, the difficulties to read the computer display, the lack of ability in computer operation [15].The recent study regarding the literature study of the e-learning challenge is also described in [16].The literature review examines the five categories of e-learning challenges and the advice for the success of e-learning implementation.The impacts, problem, and success story of the e-learning system conducted in some developing countries have also been studied as published in [17].The study results explain that there are many barriers have to be handled to achieve expected benefits and advantages of the successful e-learning implementation.In the developing country, there are still many technical problems have to be tackled such as: internet or telecommunication, electrical power, and computer hardware as well.
In the technical detail problem of Moodle LMS implementation has to be concerned to is its poor performance when the system is accessed by many users [18].The challenge is how to maintain the continuity of its services while the volume of users is keeps increasing.The e-learning system does not only deal with the volume of users but also has to handle the more variety of performed functions.The challenges and constraints are also faced by IT Division of Universitas Mercu Buana.To overcome the problem related to performance in handling the high service request, there are some strategy can be used.Some of those strategies are: distribution system, load balancing clustering, or the combination of those both mechanisms.

E-learning Analysis & Performance Related Problem
Moodle LMS has been operated to support e-learning activities in the University since 2007.In the beginning, the e-learning system is started with one class and used as complementary tools for teaching activities.Gradually e-learning system plays more important roles in the academic process.The standard, rule, and procedure of e-learning system operation become more complex day by day.Along with the complexity of SOP, the variety of learning activities increase, the user needs also increase, and the availability has to be assured.Currently, the e-learning system serves 8 faculties of an undergraduate degree and two postgraduate degrees.The learning activities involve around 1558 classes, 1050 instructors and more than 28.000 students.To follow the recommendation of the university e-learning governance implementation, the operation and services of e-learning activities are performed by the Center Of Learning Module -eLearning (PBA-eL).The university e-learning system is not the separate system which operates independently, but it is integrated with the other academic system.The integration covers some business process and data/information flow such as lecture-student presentation recording, lecture teaching fee calculation, data reporting for the government, etc.This integration process can be referred to [8].
From the technical specification of view, e-learning system also evolves from a single server for application and DBMS as well, three-tier configuration and the last configuration in the previous semester is the distributed system.With the distribution system, each faculty and postgraduate degree is served by one dedicated three-tier configuration servers.There are pro-cons of the distributed system.The advantages side of the distributed system can be achieved such as the performance is powerful enough and the independence of each system to the others.But more limitations have to be overcome, such as the complexity of the integration with the academic core system, it is more difficult to maintain, and there is a lack of data integrity.Although its performance is good enough, it still not fulfills the high standard of user requirement which requires zero downtime mainly in the lecturing activity period.
The bad performance symptoms of e-learning appeared at the beginning of the lecturing period of current semesters.Most of all lecturers and student are the users of the university e-learning system, so whenever the system could not be accessed, soon many complaints come into the IT Division.PBA-eL, as the responsible party, some time has to change the current schedule as the impact of the system disruption.The changing of the current lecturing activities schedule will be followed by another process business changing and the implication effects.In some cases, this situation is not a simple matter.During the semester, e-learning system log records the frequency of system downtime as presented in Figure 1.Of one-month log data reviewed, there are twelve days in which the system encountered a  The poor performance of the system at the beginning of its operation is caused by the high request access traffic of many users.We review the user access-log for one-month log record.Based on the log, the brief statistical data of the concurrent users who access the system in one hour are: the maximum is 1.371 users, the minimum is 27 users, and the average is 443 users.The peak time occurs on Sunday-Monday at 21.00-24.00. Figure 2 depicts the average of total user access per day recorded in one month period.As the quantity of users who do the concurrent access has reached the enterprise level and the existing system could not support the heavy requests, so the multiple servers are not feasible anymore.According the recommendation of Moodle Administrator as referred in [19], the right choice of system architecture to be used is the Load Balancing Clustering (LBC).

LBC Design & Implementation
As the foundation in designing and implementing of our LBC configuration, we analyze the time request-response performance by using the Apache Benchmark (AB) tool.The results of this benchmarking execution are presented in Table 1.The benchmarking results show that the total request can be served by one single server is around 6 (six) to 7 (seven) requests/second.If it is assumed that each user is capable to send one request each second, then there are seven users can be served in one second or around 420 users each minute.Based on our review of user access log presented in previous section #3, the maximum count of user access in one minute is 1.371 users.This number of users then requires about 4 servers to serve the request safely.The user-access log review and its analysis above guide us to design and develop the LBC configuration.The architecture of the implemented LBC is depicted as Figure 3.We use four nodes (N in the figure) of application servers and three nodes of Data Base (DB) servers.The usage of three DB nodes follows common practices which usually use odd count of DB node to avoid split-brain.Our one node DB addition is functioned as backup DB.In the implementation of the LBC scenario, we use some software or library tools such as HAProxy, keepalived, and Galera.HAProxy is used to manage the high availability and proxying of the Moodle web server application.Keepalived is utilized to check the health of the failover server pools used to dynamically and adaptively maintain and manage load balanced according to their health.While the synchronization between the DB clusters is performed with Galera [20].

Result & Discussion
The LBC configuration has been operated for daily e-learning activities for four months up to this report written.The first two months operation was in the previous semester, while the last two months is in the current semester.In the early weeks of the operation, some troubles occur trigger the system down.But most of those incidents are not caused by the LBC configuration rather caused by others system component.The recap of those incidents is presented in the Table 2.There are various sources of the problem make the e-learning system is interrupted, most of those sources came from the external system environment.
The performance of the LBC based e-learning system is monitored and evaluated by two ways: qualitative and quantitative.The qualitative monitoring mechanism is performed through the user's complaint which which comes from many channels such as phone call, email, and most of them by WA group.For quantitative monitoring, evaluation and incident handling purposes, we implement the robot system which in real time monitors the user access status.The robot works for several functions.The first function is for notification purposes.The robot will send SMS and email to authorized persons whenever an e-learning system is inaccessible.The second function is for monitoring.Authorized personnel is able to access the history and current performance of system through web-based applications that provides several data regarding its performance such as date-time, port-accessed, number of user access, and the summary of up-time.Based on qualitative evaluation, the performance of the e-learning system 137 is the best since there is only one user complaint received in four months operation.The best performance is also presented by the quantitative evaluation parameters as Table 3 follow.The maximum number of concurrent users per minute is 1.528 users.Accessed by that volume of users, the system is stable enough proved by there is no users complaint regarding the access speed, trouble in menu accessing etc.For two months operation period, the system uptime is close to 100%.Recorded in 2 month operation, minimum=1, maximum=1.538,and average=517.Notes: Accessed by 1.538 concurrent users, the system is still stable Up -time Started in the current semesters, the system has been operating in 52.685 minutes with its up-time is 99.812%

Conclusion and Future Works
The implementation of LBC on Moodle LMS reported in this paper is able to minimize the poor performance issues that in the previous semester became a major obstacle of e-learning activities.The load balancing scenario and configuration designed is able to accommodate the users need regarding the system availability and performance pre request.Based on few months monitoring and evaluation performed in the system, both qualitative and quantitative performance parameters confirm that the performance of the system increases significantly to be better.
In the fourth digital industrial era, the demand for e-learning system tends to increase since the self-on-line learning will become more popular than the conventional learning model.Indonesia Higher Education regulatory body has also encouraged the universities to utilize the capabilities of the self-online learning method.To anticipate those demands, many aspects have to be considered includes the technical aspects.Some technical aspects have to be elaborated such as: how does the system deal with various format of learning materials, how does the system manage the storage effectively faced to the high speed of data volume growth, and how the information security aspects will be handled.In the future work, step by step we will explore such technical aspects.In the first step, the user authority and accountability control and

Figure 1 .
Figure 1.E-learning server down time in the beginning of the semester

Figure 2 .
Figure 2. The average of total concurrent users/day 135

Figure 3 .
Figure 3.The moodle LBC configuration Load balancing clustering on moodle LMS to overcome performance issue…(Mujiono Sadikin)

Table 1 .
The E-learning System Request-response Time Performance Benchmarking

Table 2 .
The List of Incidents In The Early Week of LBC Operation

Table 3 .
The List of Incidents In The Early Week of LBC Operation