WWW Server Load Balancing Technique Employing Passive

Document Sample
WWW Server Load Balancing Technique Employing Passive Powered By Docstoc
					WWW Server Load Balancing Technique Employing Passive Measurement of Server Performance                              59




     WWW Server Load Balancing Technique
     Employing Passive Measurement of Server
                  Performance
                            Satoru Ohta1 and Ryuichi Andou2 , Non-members


ABSTRACT                                                        •  The specifications of the servers are not necessarily
    Server load balancing is indispensable within               identical; servers with different capacities may coex-
World Wide Web (WWW) for providing high-quality                 ist.
                                                                • The server load incurred by a request is not con-
service. In server load balancing, since the server
loads and capacities are not always identical, traf-            stant. Some requests may offer much heavier load
fic should be distributed by measuring server perfor-            than others.
mance to improve the service quality. This study pro-               Because of these characteristics, the performance
poses a load balancing technique conducted by pas-              of some servers is relatively degraded. Thus, the
sive measurement, which estimates the server per-               server load may become imbalanced if requests are
formance via user traffic passing through the load                distributed to each server with equal probability.
balancer. Since this method evaluates server perfor-                The above problem is avoided by measuring the
mance without executing any programs on the server,             performance of each server and distributing fewer re-
no additional server or network load is generated.              quests to servers that do not have sufficient capac-
This paper first presents a server performance metric            ities. Such control has been achieved by executing
that can be passively measured. The presented met-              a load/performance measurement program on each
ric utilizes the characteristics of TCP SYN and SYN             machine and by transmitting the measurement result
ACK messages exchanged in the TCP connection es-                to the load balancer [1, 2]. The load balancer can
tablishment phase. An experiment shows that the                 then distribute requests to server considering their
metric correctly identifies server performance degra-            load/performance. However, by executing the mea-
dation. The paper then proposes a load balancing                surement program on the servers, this method may
algorithm based on the metric, and its implementa-              generate additional processing loads on them. More-
tion issues. The proposed algorithm distributes fewer           over, if a servers performance is extremely degraded
requests to servers that do not have sufficient capac-            with excessive loads, the program may not function
ities. Because of this, the algorithm achieves good             efficiently.
performance in a heterogeneous environment where                    As an alternative method, this study investigates
servers with different capacities coexist. The effec-             the passive measurement approach, in which server
tiveness of the proposed load balancing technique is            performance is estimated via the user traffic passing
confirmed experimentally.                                        through the load balancer. Since this approach does
                                                                not generate any additional loads on the servers or
Keywords: IP Networks, Load Balancing, WWW,                     the network, the estimation is not affected by mea-
TCP, Passive Measurement, Performance                           surement program/packets. Passive measurement ap-
                                                                proaches have been reported in [3, 4]. However, the
1. INTRODUCTION                                                 method proposed in the present study is more ad-
   The World Wide Web (WWW) is the most impor-                  vantageous because its performance metric is ob-
tant service provided by the Internet. The quality              tainable by simpler computation. The Linux Vir-
of the service depends on the capacity of the servers;          tual Server [5, 6] and NetDispatcher [7] are also load
if service demand exceeds the capacity of a server,             balancing methods based on passive measurement.
multiple servers are employed to share the load, and            These methods distribute load among servers by es-
achieve an acceptable service quality [1, 2].                   timating the number of TCP connections. However,
   The following characteristic must be considered in           the number of TCP connections does not necessar-
order to establish a powerful load balancing tech-              ily represent the server performance and thus is not
nique.                                                          an appropriate metric for load balancing in a hetero-
                                                                geneous environment. By contrast, the metric pre-
  Manuscript received on August 1, 2009 ; revised on November   sented in this paper correctly identifies server perfor-
5, 2009.                                                        mance. Because of this, the proposed method is more
  1,2 The authors are with the Department of Information
                                                                effective when some servers are more degraded than
Systems Engineering, Faculty of Engineerig, Toyama Prefec-
tural University, 5180 Kurokawa, Imizu-shi, Toyama, 939-0398,
                                                                others.
Japan., Email: ohta@pu-toyama.ac.jp                                 The proposed measurement method uses the fact
60    ECTI TRANSACTIONS ON ELECTRICAL ENG., ELECTRONICS, AND COMMUNICATIONS VOL.8, NO.1 February 2010




that server performance degradation is identified          method, the program itself generates additional pro-
through the packets exchanged in the establishment        cessing load on the server, deteriorating its perfor-
phase of a TCP connection. Based on this idea, this       mance. Moreover, if a server’s performance is ex-
paper presents a new server performance metric that       tremely degraded with excessive load, the measure-
can be measured passively, and subsequently applies       ment program may not work efficiently. Thus, any
the performance metric to load balancing. The paper       method based on a measurement program executed
describes the algorithm that controls the probabilities   on the server is not reliable.
of distributing requests according to the performance        An alternative regarding server load/performance
metric. The effectiveness of the proposed metric and       estimation is to measure the response time of the
the load balancing technique is confirmed experimen-       ICMP echo message. However, this response time
tally.                                                    does not always represent the load or performance of
   The proposed load-balancing technique is applica-      the server accurately. Moreover, the ICMP messages
ble to any TCP server-client based services. However,     offer additional traffic to the network and the servers,
since WWW is the most heavily used service in the         affecting system performance.
Internet, the load-balancing for WWW is more fre-            As seen above, existing techniques have disadvan-
quently required. Therefore, this paper focuses on        tages relating to additional loads or inaccuracy. To
WWW as the application of the proposed method.            establish an ideal load balancing method, the server
   The paper first overviews related studies and de-       load/performance must be estimated through passive
scribes the problem tackled in this study in Sect. 2.     measurement, monitoring only the user traffic. This
Section 3 presents a server performance metric, es-       approach does not insert any probe packets into the
timated through passive measurement. This section         network or execute any programs on the server ma-
shows that the metric is closely related to the TCP       chines.
connection time. Section 4 details the proposed load
                                                             Load balancing techniques based on passive mea-
balancing technique. Finally, Sect. 5 concludes the
                                                          surement have been examined in [3, 4]. For the
paper.
                                                          performance metric, the method of [3] employs the
                                                          application-layer round-trip time, while the method
2. RELATED WORKS AND PROBLEM DE-                          of [4] employs the flow rate. For the estimation of
   SCRIPTION                                              these metrics, the variables used for the computation
   So that the load balancer maximizes system per-        must be managed individually for each TCP connec-
formance, service requests should not be distributed      tion. Since a server handles many TCP connections,
to all servers with equal probability . This is be-       the estimation of the metrics requires a large amount
cause WWW services often involve complex process-         of storage and computational time. Thus, it is nec-
ing, and the load induced by the processing varies        essary to establish a performance metric that is pas-
greatly with the content of a request. As a result,       sively measured and estimated by a simpler process
the load on each server is not always the same even       than the methods of [3, 4]. In addition, these meth-
if every server receives the same number of service       ods have been evaluated only by computer simula-
requests. Further, the capacities of servers are not      tions and have not been implemented on real net-
always identical. For example, suppose that the ser-      works. Thus, their feasibility is unclear.
vice demand has increased, and the current number            Implemented load balancing techniques include
of servers is insufficient for handling requests. In this   the Linux Virtual Servers [5, 6] and NetDispacher [7].
case, new server machines must be added to the sys-       The former uses the number of current TCP connec-
tem, and it is very likely that the capacities of the     tions as the server load metric while the latter uses
newly purchased machines are larger than those of         the number of TCP connections as well as server ma-
the old machines. Moreover, the performance of a          chine information gathered by agent programs. In
server may degrade comparatively because of faults        these techniques, the number of TCP connection is
such as RAID disk trouble.                                passively measured. However, the number of TCP
   To solve the above problem, we measure the perfor-     connections is not directly related to the server ca-
mance of each server and distribute service requests      pacity or performance. Obviously, a high-capacity
based on this performance, reflecting the remaining        server machine can accept many concurrent connec-
capacity of the machine. More requests need to be         tions while a low-capacity machine can accept fewer
distributed to a server with greater remaining ca-        connections. Meanwhile, the techniques consider that
pacity and fewer requests to a server with less re-       a machine with fewer connections is lightly loaded.
maining capacity. Therefore, advanced load balanc-        Thus, the techniques route a new connection to the
ing techniques employ a mechanism, to estimate the        machine that has the fewest connections. This oper-
load/performance of servers.                              ation minimizes the difference among the number of
   Existing load balancing techniques often employ        TCP connections handled by each machine. There-
a program running on each server to measure its           fore, the techniques will offer a similar number of
load/performance [2, 8]. Unfortunately, with this         TCP connections to a high-capacity machine as that
WWW Server Load Balancing Technique Employing Passive Measurement of Server Performance                            61




to a low-capacity machine. It would therefore ap-             a large amount of storage and computational time.
pear that this operation is not adequate for the case         Meanwhile, the approach of this study manages only
in a heterogeneous environment. For load balancing            the numbers of TCP SYN and SYN ACK packets
in heterogeneous environments, it is necessary to de-         and does not manage each connection. Therefore, its
velop a metric that reflects server performance and            computational procedure is much simpler than that
can be passively measured.                                    of the method of Ref. [14].
    Several studies have indicated that the perfor-              The numbers of TCP SYN and SYN ACK mes-
mance of a WWW server is closely related to the               sages can be measured passively and represent server
socket accept queue [9–11]. If excessive load is offered       performance degradation. This characteristic is well
to a server, the socket accept queue buffer overflows           suited to load balancing in heterogeneous environ-
with TCP SYN messages, and if the message is lost,            ments. The following sections describe how this is
the client retransmits the TCP SYN message after              achieved.
the timeout period. This timeout and retransmission
process greatly increases the connection time. Thus,          3. SERVER PERFORMANCE METRIC
if the accept queue overflow is identified from the user
traffic, excessive server load and performance degra-           3. 1 Theory
dation can be detected effectively.                                An important aspect of server performance is
    By utilizing the above characteristics, Refs. [9, 10]     the connection time, which is defined as the period
examine server capacity estimation based on TCP               needed to set up a TCP connection. The connec-
SYN drop rate for the purpose of energy conserva-             tion time depends on several factors, such as packet
tion. In [12], the ratio of SYN ACK messages and              communication delay in the network or processing de-
TCP SYN messages is used to detect SYN flood De-               lay at the server. However, it is reported that the
nial of Services (DoS) attack. However, the above-            most dominant factor affecting connection time is the
mentioned characteristics of TCP SYN and SYN                  buffer overflow of the socket accept queue [9, 11]. The
ACK messages have not been investigated from the              retransmission process for a lost TCP SYN message
viewpoint of server load balancing.                           takes a few seconds, while the other delays are shorter
    The technique reported in Reference [13] utilizes         than one second. Thus, other delays are almost neg-
TCP SYN/SYN ACK messages in a different way                    ligible in comparison with those caused by TCP SYN
to distribute load among multiple access links. The           retransmission.
technique passively measures round trip times by                  Let t0 be the timeout period for the TCP SYN re-
recording arrival times of TCP SYN and SYN ACK                transmission. We assume that the first TCP SYN is
messages. Load is then distributed among access               lost, and the retransmitted second TCP SYN estab-
links according to the measured round trip times. To          lishes the TCP connection successfully. Thus, the
execute this method, the arrival times of TCP SYN             connection time is greater than t0 . Similarly, the
and SYN ACK messages must be managed individ-                 lower bound of the connection time is nt0 for n re-
ually for each TCP connections. Therefore, if many            transmissions of a TCP SYN message. Moreover, the
TCP connections are set up in the network, the tech-          connection time can be approximated by nt0 assum-
nique will require a large amount of processing load          ing that other delays are much smaller than t0 .
and storage. By contrast, the approach of this study              If a TCP SYN is accepted, the server sends back a
does not need to manage each connection and thus is           SYN ACK message to the client. Thus, the number
achieved with much less processing load and storage           of retransmitted TCP SYN messages is estimated by
    A different aspect of load-balancing is found in           counting the number of TCP SYN messages transmit-
Ref. [14], which reports on a content switch. The con-        ted before receiving a SYN ACK message. If NA TCP
tent switch distributes load according to the contents        connections are established for a specified period, the
of service requests and not according to server per-          server generates NA SYN ACK messages. Let NS be
formances. Therefore, the method of Ref. [14] is not          the number of TCP SYN messages sent to the server
necessarily effective for heterogeneous environment,           for that period. The number of overflow TCP SYN
which is the target of this study. From the view-             messages is then approximated by NS − NA . The
point of TCP SYN/SYN ACK message utilization,                 average number of the retransmitted TCP SYN mes-
the method of Ref. [14] finds a pre-allocate server            sages for a connection is thus (NS − NA )/NA . This
from the source IP address shown in a TCP SYN                 implies that the average connection time tc is approx-
packet to reduce the processing load of converting se-        imated by the following equation.
quence numbers. The method also uses the sequence
numbers indicated in TCP SYN/SYN ACK messages                                           (NS − NA )t0
for converting the sequence numbers. To perform                                  tc ≈                .           (1)
                                                                                            NA
this, the IP addresses and the sequence numbers must
be managed individually for each TCP connection.                 The above equation suggests that the following
For this reason, the method of Ref. [14] consumes             value R is an effective metric for server performance.
62    ECTI TRANSACTIONS ON ELECTRICAL ENG., ELECTRONICS, AND COMMUNICATIONS VOL.8, NO.1 February 2010




                      Measurement: Metric R                                                      600                                                0.2
WWW Client                                      WWW Server




                                                                Average Connection Time (msec)




                                                                                                                                                           Proposed Performance Metric, R
                                                                                                                Connection Time
 (httperf)                                       (Apache)
                                                                                                 500            Proposed Metric, R
              HTTP GET
                                                                                                                                                    0.15
                                                                                                 400
     PC2        Page Data      PC1                  PC0
                                                                                                 300                                                0.1
        1000Base-TX                   1000Base-TX
                                                                                                 200
                                                                                                                                                    0.05
Fig.1: Network configuration to evaluate the perfor-                                              100
mance metric R.
                                                                                                  0                                               0
                                                                                                       0       200     400     600      800    1000
                                                                                                           Connection Request Rate (requests/sec)
                            NS − NA
                      R=            .                     (2)
                              NA
                                                                Fig.2: Relationship between the proposed perfor-
   It is clear from eq.(1) that the value R is propor-          mance metric R and the average TCP connection
tional to the average connection time. Therefore, the           time.
degradation of server performance can be evaluated
with increase of R.
   The benefits of employing R from eq.(2) are sum-              tion time and the metric R. The figure shows that
marized as follows.                                             the characteristics of R almost exactly coincide with
• The parameters that are used to compute R, are                those of the connection time. Therefore, we can em-
obtained through passive measurement of user traf-              ploy R rather than measuring the connection time,
fic. This means that the metric R can be estimated               whose estimation is more difficult. It is also observed
without offering an additional load on the server or             that performance degradation is identified correctly
the network.                                                    through the proposed metric R.
• The metric R can be easily computed and can be                    Figure 2 shows that the average connection time
obtained without managing TCP connections. Thus,                is nearly 3000 times R. Thus, the above character-
the amount of computational time and storage is                 istics and eq.( 2) imply that the timeout period of
much smaller for this metric than for the metrics used          TCP SYN retransmission is about 3 seconds in the
in previous works such as [3, 4, 13, 14].                       experimental environment. This result agrees com-
                                                                pletely with the initial timeout specified in Sect. 4.2.3
3. 2 Evaluation                                                 of Ref. [17]. This confirms that the metric R is de-
                                                                termined by the mechanism described in Sect. 3.1 of
   To show the effectiveness of the proposed metric
                                                                the present paper.
R, an experiment was executed. The experiment em-
ployed three Linux PCs (PC0, PC1, and PC2) con-                     In the Fig. 2, small differences between R and the
nected by 1 Gb/s Ethernet, as shown in Fig. 1. The              connection time appear at certain points. These dif-
PCs used in the experiment are 3.06 GHz Celeron                 ferences are caused by delay factors other than TCP
machines with Plamo Linux 4.1, Kernel 2.6.18.1. A               SYN retransmission.
WWW server (Apache) runs on PC0, while the client
runs on PC2. The client program (httperf [15]) gen-             4. LOAD BALANCING TECHNIQUE
erates HTTP GET requests for 1 × 105 byte files on                  This section describes a load balancing technique
the WWW server. The interval between requests is                in which the load balancer estimates the performance
randomly determined according to the exponential                metric R for each server. If R is greater for one server
distribution. The connection time was measured by               than for others, the load balancer judges that machine
the client program, and the proposed metric R was               to have a lower remaining capacity. Thus, the load
measured on PC1. The obtained connection time and               balancer decreases the machine traffic. Details of the
metric R were compared. The proposed metric R was               load control algorithm and some implementation is-
measured using tcpdump [16]. That is, tcpdump was               sues are described below.
executed on PC1 during the measurement period to
capture every packet whose SYN flag was set. By
                                                                4. 1 Algorithm
recording TCP SYN and SYN ACK packets in this
manner, the numbers of TCP SYN and SYN ACK                         Suppose that n servers, 1, 2, . . . , n, offer the same
messages, NS and NA , were counted. Then, the met-              services and share requests from the clients. Let ri
ric R was computed by eq.(2).                                   (0 ≤ ri ≤ 1) be the traffic ratio for server i (1 ≤
   The result is shown in Fig. 2. The x-axis is the             i ≤ n), i.e., (traffic given to server i)/(total traffic).
traffic load represented by the TCP connection re-                Moreover, assume the environment to be heteroge-
quest rate, whereas the y-axis is the average connec-           neous, and the capacities of some servers to be rela-
WWW Server Load Balancing Technique Employing Passive Measurement of Server Performance                                                         63




tively greater. Thus, it is necessary to feed different                 Number of SYNs/ACKs for t     [90, 100)            s3         a3
traffic loads to each server so as to maximize the total                  Number of SYNs/ACKs for t     [80, 90)            s2         a2
performance.                                                   Number of SYNs/ACKs for t   [110, current time]            s1         a1
   A greater value of the metric R means that the                     Number of SYNs/ACKs for t     [100, 110)            s0         a0
machine has less remaining capacity and that its per-
                                                                                                                           3               3
formance is degraded. Thus, the average connection                                                            Ns                sk N A          ak
time will be improved by decreasing the load from                                                                         k 0             k 0
such a machine. The actions of the algorithm are as
follows:                                                      Fig.3: Counter configuration for calculating the
1. Measure the numbers of TCP SYN and SYN ACK                 metric R every 10 seconds from data obtained in a
messages for each server periodically, and compute            40-second period.
the metric R.
2. Select the server that has the largest value of R
among servers 1, 2, . . . , n. Let j denote the selected
                                                                                           m−1           m−1
server.
                                                                                                  sk −           ak
3. Decrease the traffic ratio rj by δ (0 < δ < rj ),
                                                                                           k=0           k=0
while increasing ri (i = j) by δ/(n − 1).                                         R=              m−1
                                                                                                                      .                        (5)
                                                                                                         ak
                                                                                                  k=0
4. 2 Implementation
                                                              Simultaneously, sk and ak , which hold the oldest data
                                                                                 ˆ      ˆ
   To implement the proposed algorithm, some issues
                                                              among the counters, are reset to zero. This procedure
must be addressed. The first is the manner in which
                                                              is illustrated by Fig. 3.
the TCP SYN and SYN ACK messages are counted
                                                                  The size of the time window, mT , must be suf-
during an appropriate time period. If the numbers
                                                              ficiently large to obtain a reliable value of R. If the
of TCP SYN and SYN ACK messages are estimated
                                                              time-window size is too small, very few lost TCP SYN
for a too long period of time, it becomes impossible
                                                              messages are counted during the time window. For
to control traffic adequately against a rapid change
                                                              such a case, it is difficult to obtain an adequate num-
of server performance. Thus, the counted number of
                                                              ber of samples for reliable estimation of R.
these messages must be updated smoothly to reflect
the changes in server performance against time. To                The second issue is how the parameter δ should
achieve such an update, this study examines the fol-          be chosen in the algorithm. Since the traffic ratio rj
lowing scheme.                                                cannot be less than 0, δ should not exceed rj . Thus,
                                                              this study examines the value
   Assume that the metric R is computed every T
seconds from the numbers of TCP SYN and SYN
ACK messages, arriving during the most recent mT                               δ = ∆rj              (0 < ∆ < 1).                               (6)
seconds (m: integer). This means that R is computed
                                                              The value of ∆ must be much smaller than 1. To
from TCP SYN and SYN ACK messages that have
                                                              understand this, let us suppose that the load is now
arrived in the time window whose size is mT seconds.
                                                              shared among two server machines denoted by S0 and
Let s0 , s1 , . . . , sm−1 be m counters to count TCP SYN
                                                              S1 and that the value of ∆ is close to 1, for example,
messages, while a0 , a1 , . . . , am−1 are m counters to
                                                              0.99. Additionally, consider that the metric R for S0
count SYN ACK messages. In addition, let t denote
                                                              becomes larger than that for S1 . Then, the algorithm
the current time in seconds. Counter sk (or ak ) is
                                                              routes most of the traffic load to S1 . Since this de-
incremented by 1 for each TCP SYN (or SYN ACK)
                                                              grades the performance of S1 , R will become larger
message arriving during the period,
                                                              for S1 than for S0 . Thus, at the next control event,
                                                              most of traffic load will be routed to S0 . This means
          (N m + k)T ≤ t < (N m + k + 1)T,             (3)    that the loads on S0 and S1 oscillate with the period
                                                              of the control event interval. Needless to say, such
where N is an integer. For example, if T is 10 seconds,       oscillation is undesirable and thus must be avoided
s0 is incremented for 0 ≤ t < 10, s1 is incremented           by setting ∆ to a sufficiently small value.
for 10 ≤ t < 20, and so on. Then, when the current               Meanwhile, a small ∆ will slow down the response
time satisfies                                                 of the control against performance changes because
                                                              the load will change very slightly at each control
                                                              event. Although further study is needed to find an
                               ˆ
                    t = (N m + k)T,                    (4)    optimal value of the parameter ∆, the experimental
                                                              result suggests that ∆ = 0.1 is a good setting.
            ˆ
for integer k, the metric R for the most recent mT               It is easy to distribute requests to server i accord-
seconds is computed by                                        ing to ri , by employing the iptables command of the
64     ECTI TRANSACTIONS ON ELECTRICAL ENG., ELECTRONICS, AND COMMUNICATIONS VOL.8, NO.1 February 2010




                                Server PCs (Apache)                                              900
                                                                                                           Equal Load among Servers




                                                                Average Connection Time (msec)
                                                                                                 800
                                                Hard Disk                                                  Proposed Method
Client PC   Load Balancer PC                    & I/O Load                                       700
(httperf)   (Proposed Method)
                                                                                                 600
                                              Heavily Loaded
                                                                                                 500
                                                                                                 400
                                              Lightly Loaded                                     300
      1000Base-TX                                                                                200
                                                                                                 100
                                                                                                  0
Fig.4: Network configuration evaluating the pro-                                                    100       200        300          400        500
posed load balancing method.                                                                             Connection Request Rate (requests/sec)


                                                               Fig.5: The average connection time versus the con-
Linux OS. The iptables command supports Desti-
                                                               nection request rate for the proposed method and the
nation Network Address Translation (DNAT) suited
                                                               equal load case.
to load balancing [18]. Moreover, the load for each
server can be controlled using the “statistic” exten-
sion and its “probability” option [19]. Thus, the load         tions generated by httperf. This measurement was
is exactly divided among each server by calculating            repeated 15 times for each connection request rate,
the probability given to the iptables rule from ri .           and then the average connection time was obtained.
                                                               The initial value of ri was 1/3 for every server PC.
4. 3 Evaluation                                                The parameters ∆, m, and T , used in the proposed
   The effectiveness of the presented load balancing            method (see Sect. 4.2), were set at 0.1, 10, and 20, re-
technique was evaluated through an experiment per-             spectively. This means that the traffic ratio for each
formed on the network as shown in Fig. 4. The                  server is updated every 10 seconds on the basis of
network is configured with three server PCs, a load             TCP SYN and SYN ACK messages counted for the
balancer PC, and a client PC. These PCs are con-               most recent 200 seconds. In addition, the traffic for
nected by two local networks (1 Gb/s Ethernet). The            the most deteriorated server is decreased by 10 %
Apache WWW server was running on the server PCs,               when the traffic ratio is updated. The value of ∆
while httperf was executed on the client PC to gen-            was set sufficiently small to avoid load oscillation as
erate HTTP GET requests and measure the perfor-                described in Sect. 4.2. The time-window size, 200
mance. The proposed technique was executed on the              seconds, was chosen to obtain an adequate number of
load balancer PC for distributing the requests to the          lost TCP SYN messages for reliable estimation.
server PCs. The technique was implemented as a C                  In the experiment, the PCs for the client, the
language program that utilizes the pcap library [16]           load balancer and the heavily loaded server are 3.06
to capture TCP SYN and SYN ACK packets from                    GHz Celeron machines. Meanwhile, the PCs for the
user traffic. When the program receives a TCP SYN                lightly loaded servers are 1.60 GHz Celeron machines.
(or SYN ACK) packet, it updates the counter sk (or             Although the hardware specification of the heavily
ak ) as described in Sect. 4.2. Meanwhile, it computes         loaded server is superior to that of the lightly loaded
the metric R every T seconds and modifies the traffic             server, its performance is worse because of the artifi-
ratios r1 , r2 , . . . , rn by executing the iptables com-     cial load offered by stress. The OS employed in the
mand.                                                          PCs is Plamo Linux 4.1, Kernel 2.6.18.1.
   The experiment was performed for a situation in                Figure 5 shows the average connection time against
which server performances differ greatly. This situ-            the connection request rate. Evidently, the connec-
ation is generated by running a stress tool [20] on            tion time is shorter for the proposed method than for
one server PC and generating excessive hard disk and           the equal-load case. This result is obtained because
I/O load. By executing httperf on the client PC,               the proposed method effectively reduces the traffic for
HTTP GET requests are issued for a 1 × 105 byte                the server degraded by a heavy load.
HTML file on the servers in a random interval de-                  Figure 6 depicts the changes in traffic ratio ri as-
termined according to the exponential distribution.            signed to the server PCs against time. The figure
The average connection time for this setting was mea-          shows that the load on the degraded PC effectively
sured by httperf, for the case applying the proposed           decreases with time. This means that most requests
method as well as for the case in which the traffic              are sent to the server PCs with a light load, and thus
was distributed to servers with equal probability. The         do not suffer from serious connection delay. In addi-
connection time was measured for 105 TCP connec-               tion, the performance of the degraded server is also
WWW Server Load Balancing Technique Employing Passive Measurement of Server Performance                                        65




                     0.6                                                  [5]   The Linux Virtual Server Project,
                                                                                http://www.linuxvirtualserver.org/.
                     0.5                                                  [6]   W. Zhang, “Linux virtual servers for scalable
                                                                                network services,” in proc. Ottawa Linux Sym-
                     0.4                                                        posium 2000, Ottawa, July 2000.
 Traffic Ratio, ri




                                         Heavily Loaded Server PC
                     0.3
                                                                          [7]   G. Goldszmidt and G. Hunt, “NetDispatcher: a
                                         Lightly Loaded Server PCs
                                                                                TCP connection router,” IBM Research Report,
                                                                                RC 20853, May 1997.
                     0.2
                                                                          [8]   J. Kerr, “Using dynamic feedback to optimize
                     0.1                                                        load balancing decisions,” in proc. Australian
                                                                                Linux Conference 2003, Perth, Australia, Jan.
                       0                                                        2003.
                           0    50      100     150        200      250   [9]   C.-h. Tsai, K.G. Shin, J. Reumann and S. Sing-
                                      Elapsed Time (sec)                        hal, “Online web cluster capacity estimation and
                                                                                its application to energy conservation,” in proc.
                      Fig.6: Traffic ratio change against time.                   IM2005, Application Sessions, Session 5, Nice,
                                                                                France, May 2005.
                                                                          [10] C.-H. Tsai, K.G. Shin, J. Reumann and S. Shing-
improved because of the decreased load. As a result,
                                                                               hal, “Online web cluster capacity estimation and
the average connection time is improved, as shown in
                                                                               its application to energy conservation,” IEEE
Fig. 5.
                                                                               Trans. Parallel and Distributed Systems, 18, 7,
   The above result confirms that the proposed
                                                                               pp.932–945, July 2007.
method successfully improves performance by con-
trolling the traffic load on servers when the perfor-                       [11] P. Pradhan, R. Tewari, S. Sahu, A. Chandra
mance of a few servers displays relative degradation.                          and P. Shenoy, “An observation-based approach
                                                                               towards self-managing web servers,” in proc.
5. CONCLUSION                                                                  IWQoS 2002, pp.13-20, Miami Beach, May 2002.
   This paper presented a load balancing technique                        [12] T. Nakasima and T. Sueyoshi, “Performance es-
for WWW servers conducting a passive measurement                               timation of TCP under SYN flood attacks,” in
of server performance. Initially, the paper described a                        proc. CISIS’07, pp.92-99, Vienna, Austria, Apr.
server performance metric, estimated by passive mea-                           2007.
surement. The experimental result confirmed that                           [13] Y.-d. Lin, S.-c. Tsao and U.-p. Leong, “On-the-
the proposed metric correctly indicates the connec-                            fly TCP path selection algorithm in access link
tion time increase brought about by server degrada-                            load balancing,” Computer Communications, 30,
tion. Further, a load balancing technique utilizing the                        2, pp.351–357, Jan. 2007.
metric was proposed. The experimental result con-
firmed that the presented load balancing technique                         [14] C.E. Chow and C. Prakash, “Enhance fea-
effectively improves the performance.                                           tures and performance of a Linux-based content
                                                                               switch,” in proc. IASTED Conf. on Applied In-
References                                                                     formatics, Innsbruck, Austria, Feb. 2003.

[1]                  H. Bryhni, E. Klovning, and Ø. Kure, “A com-         [15] D. Mosberger and T. Jin, “httperf – a tool for
                     parison of load balancing techniques for scalable         measuring web server performance,” ACM SIG-
                     Web servers,” IEEE Network, 14, 4, pp.58-64,              METRICS Performance Evaluation Review, 26,
                     July/Aug. 2000.                                           3, pp.31-37, Dec. 1998.
[2]                  T. Bourke, Server load balancing, O’Reilly, Aug.     [16] TCPDUMP/LIBPCAP public repository,
                     2001.                                                     http://www.tcpdump.org/.
[3]                  H. Miura and M. Yamamoto, “Content rout-
                     ing with network support using passive mea-          [17] R. Braden, “Requirements for Internet hosts –
                     surement in content distribution networks,” IE-           Communication layers,” IETF RFC 1122, Oct.
                     ICE Trans. on Communs., E86-B, pp.1805–1811,              1989.
                     June 2003.                                           [18] R. Russel, “Linux 2.4 NAT howto,”
[4]                  U. Lee, J.-s. Park, M.Y. Sanadidi and Mario               http://security.maruhn.com/nat-howto/.
                     Gerla, “Flow based dynamic load balancing for
                                                                          [19] Linux iptables libxt statistics Manual.
                     passive network monitoring,” in proc. Commu-
                     nications and Computer Networks 2005, pp.357-        [20] Stress project page,
                     362, Marina del Rey, CA, Oct. 2005.                       http://weather.ou.edu/ apw/projects/stress.
66     ECTI TRANSACTIONS ON ELECTRICAL ENG., ELECTRONICS, AND COMMUNICATIONS VOL.8, NO.1 February 2010




                     Satoru Ohta received the B.E., M.E.,
                     and Dr. Eng. degrees from the Tokyo
                     Institute of Technology, Tokyo, Japan,
                     in 1981, 1983, and 1996, respectively. In
                     1983, he joined NTT, where he worked
                     on research and development of cross-
                     connect systems, broadband ISDN, net-
                     work management, and telecommunica-
                     tion network planning. Since 2006, he
                     has been a professor with the Depart-
                     ment of Information Systems Engineer-
ing, Faculty of Engineering, Toyama Prefectural University,
Imizu, Japan. His curret research interests are performance
management of information networks and network protocols.
He is a member of the IEEE and IEICE. He received the Ex-
cellent Paper Award in 1991 from IEICE.




                      Ryuichi Andou recieved the B.E. de-
                      gree from Toyama Prefectural Univer-
                      sity, Imizu, Japan, in 2008.       He is
                      now a master course student in the De-
                      partment of Information Systems Engi-
                      neering, Faculty of Engineering, Toyama
                      Prefectural University. His research in-
                      terests are network monitoring and net-
                      work control.

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:5
posted:2/8/2012
language:
pages:8