Performance Analysis of CloudLinux-based Web Server at the Embassy of the Kingdom of Morocco in Jakarta

The rapid development of Information Technology (IT) has made a high availability web server a necessity. CloudLinux is a CentOS-based operating system specifically for the needs of servers with good high availability. This study will implement and analyze a CloudLinux-based web server for the Embassy of the Kingdom of Morocco in Jakarta to replace the current CentOS-based web server that does not meet high availability standards. The research methodology used in this study is the PPDIOO Life-cycle from Cisco. Designing a network according to the customer's needs requires identifying several elements in it, including the goals and constraints faced by the organization. Cisco creates a network life-cycle that can help these problems into six phases: Prepare, Plan, Design, Implement, Operate, and Optimize (PPDIOO). This study aims to determine how well the uptime, response time, and load impact are on the CloudLinux-based web server. The uptime test results on the CloudLinux-based web server have a value of an average of 99.971%. Testing the response time on the CloudLinux-based web server has an average value of 684.75ms (milliseconds). The results of the load impact test on the CloudLinux-based web server using ten virtual users (10VU) has a total value of 7595 requests, load impact using fifteen virtual users (15VU) has a total value of 11315 requests, and finally, load impact using twenty-five virtual users (25VU) has a total value of 18631 requests. Keywords— Web Server, Uptime, Response Time, Load Impact, CloudLinux


INTRODUCTION
The development of computer technology is increasing along with the development of human needs in getting information using the internet [1]. Cloud Computing is gaining momentum in the Information Technology (IT) scope as an emerging computing paradigm for managing and delivering services over the internet [2].
In today's cloud computing era, having a server that can work 24 hours, seven days a week, 365 days a year continuously without any constraints is necessary. Of course, according to the Uptime Institute [3], the server must work under a high availability (uptime) standard of 99.9% per month. PERSISMA's servers currently experience uptime problems that do not meet these standards. The problem is downtime for more than 5 hours a month, meaning that PERSISMA's current server uptime is around 99.2%.
PERSISMA (Persaudaran Indonesia Sahara-Morocco) is an organization formed by the Embassy of the Kingdom of Morocco in Jakarta in 2012. This organization has a philosophy of "brotherhood makes us civilized human beings on earth," aiming to be a communication bridge between the two countries, Indonesia and Morocco [4]. Therefore, with the help of current Information Technology (IT), communication and information that exists between Indonesia and Morocco at PERSISMA can run well and be helpful.
CloudLinux is a CentOS-based hosting-oriented Linux distribution [5], [6]. It employs the LVE (Lightweight Virtual Environment) kernel technology, which is similar in some ways to OpenVZ or other OS-based virtualization technologies [6]. CloudLinux continually increases its security, stability, and availability of Linux servers and devices [7]. With CloudLinux, the server will be more stable, and sharing resources is more controlled [8].
The author did not find any related research that discusses CloudLinux-based web servers. However, related research that examines web servers, in general, as a brief literature review in this study we can see in Table 1.  [12] Comparing and analyzing the existing centralized machine collaboration system and the distributed machine collaboration system, and found that the average response time was reduced from 0.6 seconds to 0. Yan et al. [9] quantitatively investigated the relationship between workload and resource consumption on availably memory and heap memory on a commercial web server using the Regression Trees method. Jazi et al. [10] detecting DOS attacks at the network level and application level on the web server using the Sampling Techniques method. Escheikh et al. [11] analyze Server Virtualized Systems (SVS) performance based on analytical non-Markovian versatile SVS using the Stochastic Modeling method. Kim et al. [12] implement a web server-based Distributed Machine Collaboration System and compare it with the current Centralized Machine Collaboration System to analyze the response time. Hakim et al. [13] using the least connection algorithm for load balancing and comparing it with the round-robin algorithm to determine the response time on the NGINX web server. Chandra [14] uses the Experimental method and compares the Apache web server with the NGINX web server to find a better response time. Ramana and Ponnavaikko [15] conducted experimental investigations and simulations using load balancing algorithms on heterogeneous web servers to determine the drop rate, throughput, and response time with many requests. According to the Shortest-Remaining-Processing-Time (SRPT) scheduling theory, Qiao et al. [16] use Interest packet-based Dynamic Service Request Scheduling to distinguish the first interest packet and the subsequent interest packet on a contentcentric networking web server. Jain et al. [17] perform AWS Lambda (serverless platform) analysis to allow the authors to run generic applications in explicit runtime environments using Docker Images installed on Docker-Hub and compare them to other serverless platforms.
The purpose of this research is to implement and analyze a CloudLinux-based web server for the Embassy of the Kingdom of Morocco and determine how good the uptime, response time, and load impact are on a CloudLinux-based web server.

II. RESEARCH METHODOLOGY
The research methodology used in this research is PPDIOO Life-cycle from Cisco. PPDIOO stands for Prepare, Plan, Design, Implement, Operate, and Optimize [18]. PPDIOO is a Cisco methodology that defines the continuous life-cycle of services required for a network [19]. We can see the flow chart in this study in

A. Prepare Phase
The preparation stage is the initial stage in this research. At this stage, what is done is to determine the web server requirements used by the Embassy of the Kingdom of Morocco following the organization's finances, select the software to be used, and prepare for configuration.

B. Plan Phase 1) Analysis of the current web server
The author analyzed the current web server used by the Embassy of the Kingdom of Morocco to determine the advantages and disadvantages of existing servers to differentiate the new web server that needs to be made. In Figure 2, we can see that the current web server used at the Embassy of the Kingdom of Morocco uses a virtual private server located in Singapore with the CentOS 7 64bit operating system and the Webuzo control panel. The CPU on the virtual server is Quad-Core (4 cores) with a speed of 7200Mhz, 3GB of RAM, and 58.59GB (60GB) of Disk Space. The full details of the current web server specifications used by the Embassy of the Kingdom of Morocco can be seen in Table 2.

2) Problem Analysis
Problem analysis is needed to find out what problems occur on the Embassy of the Kingdom of Morocco's current web server and determine the required solution. Utilization is very high, reaching 93%, and the total RAM used is also very high, reaching 95% of the total 3 GB of available RAM.

C. Design Phase
In this stage, the author will overview the CloudLinuxbased web server to solve the current web server problems at the Embassy of the Kingdom of Morocco. Furthermore, identifying hardware and software requirements, determining hardware and software specifications, the final step at this stage is to create a CloudLinux-based web server and configure it. As illustrated in Figure 5, the web server design plan that the author will design and implement is located in Singapore with the CloudLinux operating system. The CPU used on the web server is Octa-Core (8 cores), 4 GB of RAM, and 60 GB of Disk Space (SSD). For security reasons of the web server, the author adds KernelCare to keep the kernel and security on the web server up-to-date. The full details of the new web server design specifications for the Embassy of the Kingdom of Morocco can be seen in Table 3.

D. Implement Phase
After the design is accepted by the Embassy of the Kingdom of Morocco, the next step is implementation. Implementation of the web server by migrating all existing data on the old web server to the CloudLinux-based web server that has been made. Then run the web server so that the web server can be used directly by the Embassy of the Kingdom of Morocco, as shown in Figure 6.

E. Operate Phase
After the implementation phase is complete, then proceed to the web server operational stage. At this stage, the author will carry out a test scenario on the CloudLinux-based web server that has been created. It is aimed to know the uptime, response time, and load impact of the new web server.

F. Optimize Phase
Based on test results conducted a web server in the previous stage, then analyzed the test results. The author will obtain the value of uptime, response time, and load impact at this stage. If the uptime, response time, and load impact values do not meet the standards, then the web server will be optimized so that these values meet the predetermined standards.

III. RESULT AND DISCUSSION
The author realizes that the CPU and Memory on the old web server, CentOS-based web server, is different from the new web server, Cloudlinux-based web server. This difference is due to adjusting to the needs and finances at the Embassy of the Kingdom of Morocco in Jakarta and adjusting to the Prepare Phase, Plan Phase, and Design Phase determined previously. Then, over time, and as users increase, the number of requests on the web server each month increases. The average number of requests on the old web server is only around 6.9 million requests. Currently, the average number of requests is over 10 million requests.

A. Web Server Uptime
Uptime refers to the amount of time the system is available for use as intended, whereas downtime refers to the amount of time the system is stalled, shut down, or otherwise not working as expected. Its uptime measures the percentage of time a server is available [20].
Because servers are critical IT infrastructure components, it makes sense to achieve as close to 100% uptime as possible. In many industries, 99.999% uptime is considered high availability. Server uptime monitoring is the process of determining whether servers' function and availability meet service level agreement (SLA) standard for high availability, which is 99.999% or less. In some cases, server uptime reports are required to demonstrate compliance with its established SLAs [20].
First, the author executed the uptime test on the old web server, CentOS-based web server of the Embassy of the Kingdom of Morocco using Site24x7. This test started from August 2020 to November 2020. The results of the test shown in Figures 7 to 10. After testing the old web server, the author continued testing on a new web server, CloudLinux-based web server. This test started from December 2020 to March 2021. The results of the test shown in Figures 11 to 14. As seen in Figure 15, CentOS-based web server, from August 2020 to November 2020, the average uptime is 99.369%. After using the CloudLinux-based web server from December 2020 to March 2021, the average uptime increased to 99.971%. A good standard of uptime, according to the Uptime Institute, is around 99.9%.

B. Web Server Response Time
The response time is the most crucial factor determining user experiences in the service provision model involving server clusters [21]. The amount of time required to load an HTML document from a server so that the client can begin rendering the page is referred to as server response time. The HTML document will take longer to load if the server response time is slow. If the HTML document is not loaded, the browser will not know what other resources are needed to display the page correctly [22].
If the web server has a good response time, the webpage will appear to load almost instantly. The page will take longer to load without it, negatively impacting the user experience and, ultimately, search engine rankings [23].
After completing the uptime testing, followed by testing the response time on the old web server, CentOS-based web server, which started from August 2020 to November 2020. The results of the test shown in Figures 16 to 19. Time to First Byte (TTFB) is a unit used to measure server response time. The time it takes between the HTTP client making a request and receiving the first byte of data is calculated by TTFB [23]. The time is measured in milliseconds, as illustrated in Figure 24. 200ms-1 second is acceptable. (4) Anything over 1 second is a problem [23]. CloudLinux-based web server is sufficient response time according to general rules of response time.

C. Web Server Load Impact
The last parameter is testing the load impact of the old web server, CentOS-based web server, and the new web server, CloudLinux-based web server of the Embassy of the Kingdom of Morocco using the LoadImpact K6 tool. This test is conducted to determine the benchmark value using virtual user (VU) visitors.
Load Impact has a simple user interface, but it also has powerful tools that allow users to gain insights into the performance and endurance of their websites and applications and identify issues and bottlenecks that slow and impede service delivery [24]. The sample results of the test shown in Figure 25. K6 is a cloud-based, open-source load testing service. One of the things that makes this tool appealing is the price of a variable-use model. It is, however, mainly developer-centric. Its load testing side is designed for high loads and can handle various modes, such as spikes, stress testing, and endurance runs [25].
Testing with each virtual user (ten virtual users, fifteen virtual users, and twenty-five virtual users) is carried out once a day in a month to find out how many total requests can be handled by the CentOS-based web server and CloudLinuxbased web server, in that one month. The results of the total load impact request are illustrated in Figure 26. Testing used ten virtual users (10VU), CentOS-based web server can handle 4495 total requests, CloudLinux-based web server can handle 7595 total requests. Testing used fifteen virtual users (15VU), CentOS-based web server can handle total requests of 6541, CloudLinux-based web server can handle total requests of 11315. Testing used twenty-five virtual users (25VU), CentOS-based web server can handle 8091 total requests, CloudLinux-based web server can handle 18631 total requests. The greater the request value, the web server can handle many visitors simultaneously on a web server.

IV. CONCLUSION
The research that has been done can be concluded that CloudLinux-based web servers can run well without constraints. The uptime test results for the CloudLinux-based web server from December 2020 to March 2021 have an average of 99.971%, compared to the old web server, CentOSbased web server, from August to November 2020 which only has an average of 99.369%. An excellent average uptime, according to the Uptime Institute, is above 99.9%. The CloudLinux-based web server response time test results have an average of 684.75ms compared to the old web server, CentOS-based web server response time, which only has an average of 1110.75ms. An excellent average response time, according to the commonly used standards, is under 1 second. The latter results from load impact testing with ten virtual users (10VU), CloudLinux-based web server request has a value of 7595 compared with CentOS-based web server that only has a value of 4495. Load impact with fifteen virtual users (15VU), the CloudLinux-based web server has a value of 11315 requests compared to the CentOS-based web server, which only has a value of 6541. Load impact with twenty-five virtual users (25VU), CloudLinux-based web server has a value of 18631 requests compared to the CentOS-based web server, which only has 8091.