Wireless Pers Commun (2015) 80:229–245 DOI 10.1007/s11277-014-2005-7
WSQ: Web Server Queueing Algorithm for Dynamic Load Balancing Harikesh Singh · Shishir Kumar
Published online: 21 August 2014 © Springer Science+Business Media New York 2014
Abstract Web server performance is the most critical issue for web users. Number of users degrades the performance of the web servers. An overloaded web server cannot provide better performance without any efficient mechanism. To reduce this overloaded condition, several load balancing algorithms divide the load into other web servers present in a cluster. Remaining capacity (RC) and server content based queue (QSC) load balancing algorithms are most usable load balancing algorithms, but it provides better results in some specific conditions. An efficient load balancing algorithm can be designed based on load balancing factors of the web servers such as memory length, queue-length and number of active connections which affects the web server’s performance. The utilization of the web servers and drop rate of the requests has been measured also to remove the overloaded condition of the web servers. Further, two existing algorithms (RC and QSC) have been simulated and the results have been compared with WSQ-proposed load balancing algorithm. The results of simulation of the proposed algorithm minimizes the drop rates in homogeneous as well as heterogeneous environments and the mean response time is also minimized, but lowest percentage of server utilization has achieved in comparison to existing algorithms. Therefore, the proposed algorithm has shown the best performance in high traffic case of web servers. Keywords Remaining capacity algorithm · QSC-algorithm · Web server · Load balancing · Queue-length
H. Singh · S. Kumar (B) Department of Computer Science and Engineering, Jaypee University of Engineering and Technology, Guna, MP, India e-mail:
[email protected] H. Singh e-mail:
[email protected]
123
230
H. Singh, S. Kumar
1 Introduction Load balancing is an important technique to enhance the performance of web servers and all the client requests is required to distribute among the servers to achieve quick responses. The load on an overloaded server should be transferred to an under load server to enhance the system service rate. Thus, the system resources get full utilization. Web server addresses several requirements to become increasingly important in networks such as increased scalability, high performance, high availability, and disaster recovery. If any single web server receives all the incoming requests, then it is quite difficult to manage heavy incoming traffic and web pages load slowly as a result users get frustrated until the web server is free to process their next requests [1]. Web servers are processing several simultaneous web requests) along with various shared resources: processor time, file access, and network bandwidth. A single request may access a resource at any time and all other requests must wait in a queue for their turn at the resource. As the resource received by any request, it has been removed from the web server queue and simultaneously new requests are arriving and inserted into the queue. For the computation of queue size and waiting time for requests, queuing theory has been used as a tool [2]. Queuing theory views every service or resource as an abstract system consisting of a single queue feeding one or more servers. Associated with every queue is an arrival rate (λ)—the average rate at which new requests arrive at the queue. The average amount of time that it takes a server to process such requests is the service time (ts ) of the server, and the average amount of time a request spends in the queue is the queuing time (tq ). The average response time (tavg ) is simply ts + tq . If the arrival rate is less than the service rate (1/ts ) then the queuing system is said to be stable; all jobs will eventually be serviced, and the average queue size is bounded. On the other hand, if λ > (1/ts ) then the system is unstable and the queue will grow without bound. The product of the arrival rate and service time yields the utilization of the server as [2]: Utilization (ρ) = λ ∗ ts . Utilization is a number between 0 and 1 for all stable systems. A utilization of 0 denotes an idle server, while a utilization of 1 denotes a server being used at maximum capacity. If the amount of time between job arrivals, (which is defined as the inter-arrival time) (1/λ) is random and unpredictable then the arrivals exhibit an exponential or “memory less” distribution. This distribution is extremely important to queuing theory. A queue in which the inter-arrival times and the service times are exponentially distributed is known as an M/M/c queue, where the M’s represents the Markov or memory less nature of the arrival and service rates, and the ‘c’ denotes the number of servers attached to the queue [2]. At a utilization of 0 the response time is just the service time; no job has to wait in a queue. As utilization increases, the response time of the queue grows gradually. When the utilization approaches 1 the response times moves toward infinity. Little’s Law (N = λT) states that the average number of jobs waiting in the queue (N) is equal to the product of the average arrival rate and the average response time. Little’s Law is surprisingly general, and applies to all queuing systems that are both stable and conservative (i.e., no work is lost when switching between jobs) [2]. To reduce the problem of web traffic, load balancing algorithms distributes the load into another server of the network. There are many load balancing algorithms such as remaining capacity (RC) [3] and server content based queue (QSC) [4] based on web server loads are having some drawbacks. We have proposed a new algorithm for the web server system to reduce the drawback of the existing load balancing algorithms and provide better results as compared to existing algorithms and also an efficient web server architecture has designed for the comparison of proposed load balancing algorithm and other existing algorithms. At
123
WSQ: Web Server Queueing Algorithm for Dynamic Load Balancing
231
the end, the proposed load balancing algorithm gives better results even in the case of high web traffic. In Sect. 2, the literature work based on a web server queuing algorithm has been mentioned. The proposed architecture of web server has been given in Sect. 3 and respective proposed algorithm has been elaborated in Sect. 4. The proposed algorithm has been simulated and the results achieved have been analyzed in Sect. 5.
2 Related Works An overloaded web server has been managed using various load balancing techniques which are open to challenge for the researches. There are several existing algorithms for managing the web server’s load based on transferring the load from one web server node to another. The transferring approach of web server’s load enhances the server utilization and minimizes the response time. Several static and dynamic load balancing algorithms have been considered for various estimation of server load based on the factors such as memory load, number of connections, and behavior of the web servers. 2.1 Static Load Balancing Algorithms The selection and assignment of any processing element of the distributed network are performed in static load balancing. The workload of each process has been analyzed by the network and based on that the processing element has selected. There are two possible ways: stateless and state based which are applied to service any process request. If the process doesn’t have the information about the state of the system, the stateless approach has been used and in the case of full awareness of system state, the state-based approach has been used for the selection of processing element [5]. There are several static load balancing algorithms as round robin, weighted round robin and random allocation. The round robin (RR) algorithm has been distributed to each client requests starting from the first server to last server and restarts the process again in the similar way. In this way, the process has been allocated to each server continuously. In a homogeneous network environment with equal server configuration, the RR algorithm performs efficiently [5]. In weighted round robin (WRR) algorithm [6], this algorithm has performed the load balancing based on the priority given to the weights of the server cluster. A web server having high weight forwards the web requests to another web server according to the individual weights of the servers. It is more complex than the RR algorithm due to large computation, but still WRR algorithm manages the web server requests more efficiently [6]. Sharma et al. [7] presented a random allocation algorithm in which the HTTP requests are assigned to any server randomly among the cluster of servers and one of the servers may be assigned for processing of requests and the other servers may be idle. However, on average, each server gets some contribution of the load due to the random allocation. This algorithm is easy to implement, but it may lead the overloading of one server while other servers are idle [7]. 2.2 Dynamic Load Balancing Algorithms The performance of dynamic load balancing algorithm are based on the dynamic web server factors and the loads of the web server to be distributed among the server cluster. In distributed dynamic load balancing, each server is sharing the server status information among the cluster
123
232
H. Singh, S. Kumar
while non-distributed load balancing is based on either one server or clusters of servers for transferring the loads. Non-distributed dynamic load balancing algorithms, classified into two forms: centralized and semi-distributed. Centralized dynamic load balancing is required smaller number of messages to take a decision and the overall interactions in the system decreases significantly in comparison of semi-distributed case. Pao and Chen [3] have proposed the algorithm based the remaining capacity of the heterogeneous web server as decision criteria for the dispatcher, but this approach is not suitable for even distribution of the load to the servers with different capacity as in the Least Connection or Round Robin algorithm. The least capacity server always serves fewer requests because it does not have enough processing power. Otherwise, the response time may increase rapidly and the drop rate may also increase. Whenever the system adopts the remaining capacity algorithm, others servers can be used to serve the requests in the bursty traffic period. By using Pao and Chen [3] architecture, all the performance parameters can be managed by using the remaining capacity of DNS server and MAIL server. Bai and Wu [8] have designed a dispatcher-based algorithm to centralize the scheduling request and also control the client request routing completely. The routing requests among servers are transparent, but this is similar to dealing with addresses at the URL level on DNS. In general a dispatcher uses a single virtual IP address (IP-SVA) for the packet dispatching based on the mechanism defined by a server, such as packet rewriting, packet forwarding, or HTTP redirection, etc. [8]. Cardellini et al. [9] have analyzed a dynamic load balancing algorithm based on different policy types for dispatching the requests. The state information about each request has been calculated and the dispatcher uses packet rewriting concepts since the dispatcher has to rewrite incoming as well as outgoing packets. The outgoing packets from the dispatcher typically exceeded the incoming request packets. 2.3 Web Server Queuing Algorithms A web server can host any number of websites, but web traffic can be managed by several queuing techniques as mentioned below: Lin et al. [4] have presented a QSC load balancing algorithm based on the different category of web requests and heterogeneity of web servers. The QSC algorithm has selected a request and assigned to the respective server with the least loaded server based on the combination of server effectiveness and load state of the servers. The server load distribution has used a method of random distributing base-probability for each request and has selected an appropriate server according to their weights. QSC algorithm [4] can balance the load of web server clusters effectively with full use of existing sources of software and hardware. The performance of web server’s has improved using the QSC algorithm and use of the web server also increased. Lu et al. [10] have analyzed the dynamic-content web services used for online social networking and suggested an increasingly wide web-facing front end. A centralized design based join-the-shortest-queue (JSQ) algorithm faces the high communication overhead for distributed dispatchers. Lu et al. [10] proposed the join-idle-queue (JIQ) algorithm for distributed load balancing in large systems. The power-of-two and the JIQ algorithm acquire no communication overhead between the dispatchers and processors at job arrivals. The JIQ algorithm has analyzed for the large system limit and effectively reduced the system load, which is the main factor of reducing queuing overhead in comparison to power-of-two [10].
123
WSQ: Web Server Queueing Algorithm for Dynamic Load Balancing
233
Elleithy et al. [2] have proposed a queuing model to analyze the performance of web servers. It is a simple, high-level, open queuing network model based on the performance results of web servers and also analyzed the multiple server systems. If a web server approaches to theoretical upper boundary of the serving capacity defined in Elleithy et al. [2], the response time has affected and this asymptote defines a clear upper boundary for the serving capacity of web servers and maximizes the capacity boundary particularly for average length of the files served. By restraining the number of simultaneous connections, a web server may keep away from deadlock situations that occur whenever server load reaches maximum capacity. Srivastava et al. [11] developed a memory estimation model of Internet server based on queuing theory and also performed the comparative analysis between queuing models such as M/G/1, G/M/1 and G/G/1. An improved method for the effective allocation of resources for adaptive performance of gateway servers under high dynamic traffic loads proposed by Srivastava et al. [11]. The methodology used by Srivastava et al. [11] for the calculation of queue-length, waiting time and utilization is based on the performance measurements used for performance modeling and prediction. Liu et al. [12] presented a model for traffic through which performance web servers have evaluated and hypertext navigation behavior within a web server has observed. In the model [12], the session level and a stochastic marked point process has used which describes about the user’s arrival and the process of server browsing. A web server benchmark WAGON (web traffic generator and benchmark) has developed by Liu et al. [12] and the traffic model has validated based on comparative analysis of different synthetic traces generated by WAGON. All the results have analyzed on the Apache web server. Ismail et al. [13] developed a novel approach for evaluating the performance and accuracy of network traffic management via simulation modeling in heterogeneous environment. Hedayati et al. [14] performed the monitoring of the network traffic based on queuing theory and performed the simulation in a heterogeneous network environment. The network traffic monitoring is required for the calculation of efficiency and confidence parameters from steady operations of the network through which the performance and prediction of network traffic management have analyzed and suggested for controlling the performance of network traffic based on queuing theory and little’s law theory and balanced the network congestion rate.
3 Proposed Architecture of Web Server In the proposed algorithm, three parameters (number of connections, memory load and queuelength) of the server have been considered which is used for the selection of the least loaded web server in the cluster. The proposed load balancing architecture has presented in the Fig. 1 along with steps of load balancing operations. Assuming “M” number of web servers and one load balancer in a load balancing system. Whenever any user access a particular web page, the DNS server is responsible for allocating respective IP address of the web server. In this way, the DNS server resolves the IP address of the load balancer only and it is not responsible for the accessing web pages. Further, the client sends an HTTP request to the load balancer and when the load balancer receives the request, a redirection page sends back to the client. The redirection page contains the IP address of the web server, which is the best one to serve this request. This redirection depends on the load balancing algorithm used by the load balancer. Then client issues again HTTP request to the real web server and the web server serve the client requests and transfer the desired pages.
123
234
H. Singh, S. Kumar
Web Page
7 Sending HTTP Request to Server HTTP
IP address Mapping Sending Web Response to the Client
Server -1
11 Status Monitor
DNS Server 8
IP address 2 3
Load Collection
Redirection
IP address
6
9
1 User
Client
HTTP
Load Balancing Algorithm
4 HTTP Request
5
10 Redirection Page
Load Balancer 12
Server - M
Fig. 1 Proposed architecture for web server load balancing
A new module in the web server has been introduced as “status monitor”. This status monitor module has monitored the performance of the web server continuously. Status monitor constantly sends back the status of the web server to the load balancer. Load balancer has a module “load collection”, which collects the current load information of each web server and periodically calculated the actual load on the web server. The status monitor sends the report of the current value of remaining memory, active number of connections and queue-length of the web server queue constantly and the load balancer uses this status information for the selection of least loaded web server.
4 Proposed Load Balancing Algorithm The proposed algorithm has been designed for the proposed load balancing architecture of the web server. Three performance parameters have been considered for the proposed load balancing algorithms as the remaining capacity of memory, number of active connections to the web server and the server queue-length. Based on these parameters, the least loaded web server has been selected and assigned the respective web requests. A web server has shown the current load information as {m, n, q} parameters, in which ‘m’ represents the remaining capacity of the memory, ‘n’ represents the number of remaining server connection and the remaining queue-length of the server has represented by ‘q’. Pseudo code of the proposed load balancing algorithm is given below. The proposed algorithm has processed each request of queue in first come first serve (FCFS) manner and is assigned to the server based on the web server load capacity.
123
WSQ: Web Server Queueing Algorithm for Dynamic Load Balancing
235
Based on the processing capability of the WSQ algorithm has been achieved in O(n) time complexity.
5 Simulation Analysis The modules of the existing and proposed algorithm have been analyzed with various cases of web servers. For the simulation of the proposed algorithm, Java Development Kit (JDK 1.7) has been used to run the Java programs. The proposed WSQ-algorithm has been simulated with the following modules: (i) Number of web servers. (ii) Number of load balancer. (iii) The number of client connections. (iv) Available memory. 5.1 Modules of Existing Load Balancing Algorithm Initially, the existing load balancing algorithms (RC and QSC) have been implemented and following modules have used:
123
236
H. Singh, S. Kumar
(i) Number of Web Servers–Total three web servers have taken for this implementation. These three servers (WServer-1, WServer-2, and WServer-3) are awakening up on port number 1600, 1601, 1602, respectively. • HTTPServer1.java: awaken on port number 1600. • HTTPServer2.java: awaken on port number 1601. • HTTPServer3.java: awaken on port number 1602. (ii) Number of Load Balancers–One module of load balancer has taken in balancing the incoming request. • LoadBalancer.java (iii) Traffic Generator–This module generates incoming traffic. We can manually generate traffic, according to user’s requirement. • TrafficGenerator.java (iv) Available Memory–Minimum 2 GB memory and the maximum 6 GB memory have considered. • ServerConfigurer.java (v) Number of Parallel Connections–With help of this module, the numbers of connections have given as input. It has taken minimum 1,500 number of connections on each web server and maximum 6,000 number of connections. • ServerConfigurer.java (vi) Server Status Window–This module shows the status of the web server. • ServerStatusWindow.java As per the requirement of both existing algorithms (RC and QSC), the numbers of modules for both load balancing algorithms are same. The only difference is in a load balancer module. Therefore, two different LoadBalancer.java modules have required for implementation and these modules are running according to the load balancing algorithm. 5.2 Modules of Proposed Load Balancing Algorithm In this section, modules of the proposed load balancing algorithm have described. All the modules are same as the existing algorithm except that an additional module of queue for each web server and request handler in the proposed algorithm. HTTPRequestHandler.java: This is used to select the request from the Queue. QReqProcessor1.java: This Queue module has implemented on WServer1. QReqProcessor2.java: This Queue module has implemented on WServer2. QReqProcessor2.java: This Queue module has implemented on WServer3. All the incoming requests have accumulated in the queue while the server is not free. Further, the server selects the request from the queue in FCFS order and process on them, when the server is free. 5.3 Analysis of Simulation Results The proposed algorithm has been simulated and the results of simulation have been compared with other two existing load balancing algorithms (RC and QSC) considering the
123
WSQ: Web Server Queueing Algorithm for Dynamic Load Balancing
237
Table 1 Web server configuration with predetermined queue-length List of web servers
Memory size of web servers (GB)
Number of web server’s connections
WServer-1
2
2,000
Queue-length (number of requests in queue) 60
WServer-2
2
2,000
60
WServer-3
2
2,000
60
homogeneous as well as a heterogeneous environment of web servers for varying performance parameters. 5.3.1 Homogeneous Environment of Web Server with Predetermined Queue-Length Web servers are having similar configuration in the homogeneous environment, and the predetermined queue-length has been taken. For the simulation, 2 GB Memory, 2,000 number of connections, and 60 queue-lengths have been taken at each web server, as mentioned in the Table 1. From Fig. 2, it has been observed that the drop rate of generating requests at the web servers using WSQ-proposed algorithm is comparatively less than the other two existing algorithms (RC and QSC) in a homogeneous environment with fixed queue-length. As we have already discussed if the drop rate of any web server is high, then the utilization of that web server becomes low and response time of that web server becomes high. The RC and QSC algorithms have a high drop rate and high server utilization with low mean response time. The WSQ-proposed algorithm has a low drop rate and has a lower value of mean response time, but with low server utilization also. The server utilization and mean response time have been calculated by using given formula in (1), (2), and (3) [15]. (Number of requests generated per second) × 100 (1) (Number of requests served per second) Mean queue-length (2) Mean server response time (τ ) = Arrival rate Number of arrivals (3) Arrival rate (λ) = time The server utilization and mean response time of web servers have been calculated using equations (1) and (2) and have shown in Figs. 3 and 4 by WSQ-proposed algorithm and also show the comparison graph with RC and QSC algorithms. It has been observed that the percentage utilization by WSQ-proposed algorithm increases as the number of generating requests increases, but lower than RC and QSC algorithms while mean response time decreases as the number of generated requests increases but faster than RC and QSC algorithms. Server utilization, ρ(%) =
5.3.2 Homogeneous Environment of Web Servers with Dynamic Queue-Length We have taken a web server configured with different queue-length, where all the configurations of the servers are same, but the available queue-length is different. Given Table 2 shows the configuration of the servers. Figure 5 shows the simulation results of the existing and proposed load balancing algorithms. Whenever the server queue-length is variable, the proposed load balancing algorithm
123
H. Singh, S. Kumar Drop Rate (requests/sec) ----------------->
238 5000 RC-Algorithm QSC-Algorithm WSQ-Proposed Algorithm
4500 4000 3500 3000 2500 2000 1500 1000 500 0 3000
3500
4000
4500
5000
5500
6000
6500
7000
7500
Number of requests generated per second ----------->
Server Utilization (%) ----------------->
Fig. 2 Drop rate in homogeneous environment with predetermined queue-length 100 RC-Algorithm QSC-Algorithm WSQ-Proposed Algorithm
90 80 70 60 50 40 30 20 10 0 3000
3500
4000
4500
5000
5500
6000
6500
7000
7500
Number of requests generated per second ----------->
Mean Response Time (ms) ----------------->
Fig. 3 Server utilization in homogeneous environment with predetermined queue-length 20 19
RC-Algorithm QSC-Algorithm WSQ-Proposed Algorithm
18 17 16 15 14 13 12 11 10 3000
3500
4000
4500
5000
5500
6000
6500
7000
7500
Number of requests generated per second -----------> Fig. 4 Mean response time in homogeneous environment with predetermined queue-length
provides better results in comparison to existing algorithms. It has been observed that the drop rate of WSQ-proposed algorithm is minimized with varying queue-length in comparison to RC and QSC algorithms.
123
WSQ: Web Server Queueing Algorithm for Dynamic Load Balancing
239
Table 2 Web server configuration with dynamic queue-length Memory size of web servers (GB)
Number of web server’s connections
WServer-1
2
2,000
WServer-2
2
2,000
60
WServer-3
2
2,000
200
Drop Rate (requests/sec) ----------------->
List of web servers
Queue-length (number of requests in queue) 140
5000 4500
RC-Algorithm QSC-Algorithm WSQ-Proposed Algorithm
4000 3500 3000 2500 2000 1500 1000 500 0 3000
3500
4000
4500
5000
5500
6000
6500
7000
7500
Number of requests generated per second ----------->
Fig. 5 Drop rate in homogeneous environment with dynamic queue-length
The server utilization and mean response time of web servers have been compared in Figs. 6 and 7 using WSQ-proposed algorithm and also show the comparison graph with RC and QSC algorithms. It has been observed that the percentage of utilization by WSQ-proposed algorithm increases as the number of generating requests increases, but lower than RC and QSC algorithms while mean response time decreases as the number of generated requests increases but faster than RC and QSC algorithms. Based on the comparative analysis of simulation results, the WSQ-proposed load balancing algorithm has a low drop rate as well as a lower percentage of server utilization in a homogeneous environment of web servers and also minimizes the response time of web servers. Further, the proposed algorithm is being investigated in heterogeneous environments of web servers. 5.3.3 Heterogeneous Environment of Web Server with Predetermined Queue-Length The proposed WSQ algorithm has been simulated for heterogeneous environments of web server with predetermined length of the queue. All the web servers have dissimilar configuration and the simulation have been performed based on the values mentioned in Table 3. For the simulation of heterogeneous environment with predetermined queue-length, 3,500, 6,400, 7,200, and 8,100 number of requests has been taken and the WSQ-proposed load balancing has performed better results, i.e. less drop rate in comparison to RC and QSC existing load balancing algorithm as illustrated in Fig. 8. The new incoming requests may start for dropping as the web server has reached at their maximum serving capacity of 1,500 connection.
123
H. Singh, S. Kumar
Server Utilization (%) ----------------->
240 100 90
RC-Algorithm QSC-Algorithm WSQ-Proposed Algorithm
80 70 60 50 40 30 20 10 0 3000
3500
4000
4500
5000
5500
6000
6500
7000
7500
Number of requests generated per second ----------->
Mean Response Time (ms) ----------------->
Fig. 6 Server utilization in homogeneous environment with dynamic queue-length 40 35 30 25 RC-Algorithm QSC-Algorithm WSQ-Proposed Algorithm
20 15 10 3000
3500
4000
4500
5000
5500
6000
6500
7000
7500
Number of requests generated per second ----------->
Fig. 7 Mean response time in homogeneous environment with dynamic queue-length Table 3 Heterogeneous web server configuration with predetermined queue-length List of web servers
Memory size of web servers (GB)
Number of web server’s connections
WServer-1
2
2,500
Queue-length (number of requests in queue) 60
WServer-2
4
4,500
60
WServer-3
3
1,500
60
The server utilization and mean response time of web servers have been calculated using Eqs. (1) and (2) and have shown in Figs. 9 and 10 by WSQ-proposed algorithm and also show the comparison graph with RC and QSC algorithms. It has been observed that the percentage of server utilization by WSQ-proposed algorithm decreases as the numbers of generating requests increases, but lower than RC and QSC-algorithms while mean response time also decreases as the number of generated requests increases but faster than RC and QSC algorithms.
123
Drop Rate (requests/sec) ----------------->
WSQ: Web Server Queueing Algorithm for Dynamic Load Balancing
241
5000 4500
RC-Algorithm QSC-Algorithm WSQ-Proposed Algorithm
4000 3500 3000 2500 2000 1500 1000 500 0 3000
3500
4000
4500
5000
5500
6000
6500
7000
7500
Number of requests generated per second ----------->
Server Utilization (%) ----------------->
Fig. 8 Drop rate in heterogeneous environment with predetermined queue-length 100 RC-Algorithm QSC-Algorithm WSQ-Proposed Algorithm
90 80 70 60 50 40 30 20 10 0 3000
3500
4000
4500
5000
5500
6000
6500
7000
7500
Number of requests generated per second -----------> Fig. 9 Server utilization in heterogeneous environment with predetermined queue-length
5.3.4 Heterogeneous Environment of Web Servers with Dynamic Queue-Length In a heterogeneous environment of web servers, dynamic queue-length has been taken in the simulation. The parametric values of the web server configuration with dynamic queue-length has mentioned in Table 4. For the simulation of heterogeneous environment with varying queue-length, 4,100, 5,200, 6,200, and 7,100 number of requests has been taken. The WSQ-proposed load balancing has performed better results, i.e. less drop rate in comparison to RC and QSC existing load balancing algorithm as illustrated in Fig. 11. The new incoming requests may start for dropping as the web server has reached at their maximum serving capacity of 1,500 connection. The server utilization and mean response time of web servers have shown in Figs. 12 and 13 by WSQ-proposed algorithm and also show the comparison graph with RC and QSC algorithms. It has been observed that the percentage utilization by WSQ-proposed algorithm decreases as the number of generating requests increases, but with lower rates than RC and QSC algorithms while mean response time also decreases as the number of generated requests increases but faster than RC and QSC algorithms. In a heterogeneous environment, WSQ-proposed load balancing algorithms have a lesser drop rate as well as a lesser percentage of server utilization in comparison to homogeneous
123
H. Singh, S. Kumar Mean Response Time (ms) ----------------->
242 30 RC-Algorithm QSC-Algorithm WSQ-Proposed Algorithm
25 20 15 10 5 0 3000
3500
4000
4500
5000
5500
6000
6500
7000
7500
Number of requests generated per second ----------->
Fig. 10 Mean response time in heterogeneous environment with predetermined queue-length
Table 4 Web server configuration with dynamic queue-length Memory size of web servers (GB)
Number of web server’s connections
WServer-1
2
2,500
Queue-length (number of requests in queue) 130
WServer-2
4
4,500
270
WServer-3
3
1,500
60
Drop Rate (requests/sec) ----------------->
List of web servers
5000 4500
RC-Algorithm QSC-Algorithm WSQ-Proposed Algorithm
4000 3500 3000 2500 2000 1500 1000 500 0 3000
3500
4000
4500
5000
5500
6000
6500
7000
7500
Number of requests generated per second ----------->
Fig. 11 Drop rate in heterogeneous environment with dynamic queue-length
environment of the web servers. In this way, the WSQ-proposed load balancing algorithm has been compared in homogeneous as well as heterogeneous environments considering several different scenarios. In all scenarios, the WSQ-proposed algorithm has shown less drop rate as compared to the existing load balancing algorithms (RC and QSC Algorithm). Since the drop rate of the proposed algorithm is low, the web servers have high throughput. Further, it has been observed that less percentage of server utilization has been used by proposing
123
Server Utilization (%) ----------------->
WSQ: Web Server Queueing Algorithm for Dynamic Load Balancing
243
100 RC-Algorithm QSC-Algorithm WSQ-Proposed Algorithm
90 80 70 60 50 40 30 20 10 0 3000
3500
4000
4500
5000
5500
6000
6500
7000
7500
Number of requests generated per second ----------->
Mean Response Time (ms) ----------------->
Fig. 12 Server utilization in heterogeneous environment with dynamic queue-length
40 RC-Algorithm QSC-Algorithm WSQ-Proposed Algorithm
35 30 25 20 15 10 3000
3500
4000
4500
5000
5500
6000
6500
7000
7500
Number of requests generated per second -----------> Fig. 13 Mean response time in heterogeneous environment with dynamic queue-length
algorithm and also minimizes the response time of web servers in comparison to RC and QSC algorithms.
6 Conclusions and Future Enhancements The load balancing algorithm on the web server system has been used to improve the availability and to reduce the overloading of the web servers. An efficient load balancing algorithm, WSQ has been proposed to manage the load of the web servers using some new modules as “status monitor” and “load collection” to calculate the current overloading condition of the web servers. We have calculated the performance parameters such as remaining memory, remaining connection, and remaining queue-length to calculate the current serving capacity of the web servers. New requests have been transferred to the web servers which have the maximum remaining service capacity. Further, a comparative analysis of the proposed algorithm has been performed with the existing algorithms (RC and QSC). In the simulation analysis, we have observed that the proposed algorithm gives better result in homogeneous as well as heterogeneous environment considering predetermined as well as
123
244
H. Singh, S. Kumar
dynamic queue-length. The drop rate of the proposed load balancing algorithm has been also observed that it is less as compared to existing algorithms. When the drop rate of any server is less, then it gives higher server throughput and web server can process number of requests efficiently. Thus, the proposed load balancing algorithm has the lowest percentage of server utilization, but minimizes the mean response time in the overloaded conditions of the web servers. Load balancing is a concept, which is still under research. Every day new algorithms are being developed and existing models are being enhanced. So, in the future, it can be analyzed the proposed load balancing algorithm in real time environments and enhance the number of web servers to achieve high throughput and minimizes the mean response time of the web servers.
References 1. Server Load Balancing: Introduction. http://content.websitegear.com/article/load_balance.htm. Accessed Nov 8, 2013. 2. Elleithy, K. M., & Komaralingam, A. (2013). Using a queuing model to analyze the performance of web servers, 2011. http://iomelt.com/capacitricks/file/2011/11/7923431-10.1.1.19.3667.pdf. Accessed Nov 8, 2013. 3. Pao, T. L., & Chen, J. B. (2006). The scalability of heterogeneous dispatcher based web server load balancing architecture. In Proceedings of the 7th international conference on parallel and distributed computing, application and technology (pp. 213–216). 4. Lin, Z., Xio-ping, L., & Yuan, S. (2010). A content based dynamic load balancing algorithm for heterogeneous web server cluster. Computer Science and Information Systems (ComSIS), 7(1), 153–162. 5. Ramana, K., Subramanyam, A., & Rao, A. A. (2011). Comparative analysis of distributed web server system load balancing algorithms using qualitative parameters. VSRD Int. J. Comput. Sci. Inf. Technol., 1(8), 592–600. 6. Server Load Balancing: Algorithms. http://content.websitegear.com/article/load_balance_types.htm. Accessed Nov 8, 2013. 7. Sharma, S., Singh, S., & Sharma, M. (2008). Performance analysis of load balancing algorithms. World Academy of Science, Engineering and Technology, 38, 269–272. 8. Bai, Y. W., & Wu, Y. C. (2007). Web delay analysis and reduction by using load balancing of a DNS based web server cluster. International Journal of Computer and Applications, 29(1), 79–88. 9. Colajanni, M., Yu, P. S., & Cardellini, V. (1998). Dynamic load balancing in geographically distributed heterogeneous Web Server. In Proceedings of IEEE 18th international conference on distributed computing systems, Amsterdam, Netherlands (pp. 295–302). 10. Liu, Y., Xie, Q., Kliot, G., Geller, A., Larus, J. R., & Greenberg, A. (2011). Join-idle queue: A novel load balancing algorithm for dynamically scalable web services. Performance Evaluation, 68(11), 1056–1071. 11. Singh, L. K., & Srivastava, R. (2007). Memory estimation of internet server using queuing theory: Comparative study between M/G/1, G/M/1 & G/G/1 queuing model. World Academy of Science, Engineering and Technology, 1(6), 393–397. 12. Liu, Z., Niclausse, N., & Villanueva, C. J. (2001). Traffic model and performance evaluation of Web Servers. Performance Evaluation, 46, 77–100. 13. Ismail, Md N, & Zin, Md A. (2008). Evaluating the performance and accuracy of network traffic. Management via simulation modeling in heterogeneous environment. International Journal of Computer Science and Network Security, 8(3), 310–317. 14. Hedayati, M., Kamali, S. H., & Izadi, A. S. (2009). The monitoring of the network traffic based on queuing theory and simulation in heterogeneous network environment. In Proceedings of international conference on information and multimedia technology (pp. 396–402). Washington, DC, USA: IEEE Computer Society. 15. Jain, R. (2010). The art of computer systems performance analysis-techniques for experimental design, measurement, simulation, and modeling. London: Wiley.
123
WSQ: Web Server Queueing Algorithm for Dynamic Load Balancing
245
Harikesh Singh is working as Assistant Professor in Department of Computer Science and Engineering, Jaypee University of Engineering and Technology, Guna (MP), India. He is having around 6 years of teaching and research experience. His area of interest includes Distributed Computing.
Shishir Kumar is working as Professor and Head of Department of Computer Science and Engineering in Jaypee University of Engineering and Technology, Guna (MP), India. He is having around 14 years of teaching and research experience. His area of interest includes Network Management and Image Processing.
123