Title: IMPROVING WEB SERVER CLUSTER PERFORMANCE USING LOAD BALANCING AGENTS
1IMPROVING WEB SERVER CLUSTER PERFORMANCE USING
LOAD BALANCING AGENTS
2Introduction
- Congestion Problem With Replicated Web Servers
- Related Work
- Modified Apache Status Reporting
- Collecting Web Server Status Reports
- Collecting Network Traffic Statistics
- Modified DNS lbnamed
- Performance Results
- Future Directions
3Problem
- Slow access on heavy traffic web sites
- Solution Replicated servers Use redundant web
servers - Determine which replicated server will provide
the best service - Need to find more accurate server load
- Estimate client-server network bandwidth
4THE CONGESTION PROBLEMWITH REPLICATED WEB SERVERS
WS 1
WS 2
WS 3
WS 4
WS 5
Router 1
Router 2
Router 3
LBA 1
LBA 2
LBA 3
Client1
Client 2
Client 3
5Factors affecting web access
- Load at web server
- Processing power of web server
- Available bandwidth over the network
6Related Work
- Dynamic Server Selection using Bandwidth Probing
in Wide Area Networks. R. Carter and M.Crovella.
1996 - Developed bandwidth probing tools
- BPROBE ICMP messages are sent to the web server
to measure the bottleneck bandwidth - CPROBE measures the available bandwidth
- Filtering process discards inaccurate
measurements
7Application Layer Anycasting Zongming Fei et.al.
ACM Transactions on Networks. 2000
- Server push Modified the Apache Web server to
gather statistics from the access logs, about web
server load and processing time. The server
writes this information periodically to a file - Client probe To determine path characteristics,
clients probe the server for delay information,
thus clients get server delay and path
information
8Dynamic Load Balancing Of Virtual Web Servers.
Shawn Emery. Master Thesis. UCCS. 5/ 2000
- Server load information is obtained by a using
vmstat - Path characteristics are determined by using
ping - Server is dynamically selected by a modified DNS
that reads the data generated by the results of
the above two
9A Load Balancing Name Server in Perl. R.Schemers
III. Stanford University
- Developed at Stanford
- Listens on port 53 ( tcp and udp)
- Reads configuration file which specifies each
machine name and IP address of the replicated
servers - See if dynamic group name exists
- Sort weight information for group
- Return host with the highest weight , i.e. least
response time - Basically implemented for telnet cluster
services
10Load balancing ApproachesApache/Jserv/Java
Servlet http//www.Linux Virtual Server
- Application level load balancing
- Linux LVS Layer 4 switching
- Hardware Solution Arrowpoint, F5, Foundry
Networks, Alteon Web Systems
11Selection of a Replicated Server
- Manual selection by user mostly based on
geographic location of user w.r.t. server - Automated round robin selection, e.g., Round
Robin DNS - Dynamic selection based on two factors
- response time of each server
- current network path characteristics from client
to each server
12Dynamic Selection
- The dynamic selection algorithm takes into
account the following - Size of queue at each web server
- Processing power of each web server
- Available bandwidth along the path
- Maximum bottleneck bandwidth along the path from
client to server
13Load balancing Systems
Bandwidth Probe Results
Statistics Gathering Daemon
Modified Web Server 1
Server Delay
Server Ranking /tmp/StatFile
Modified Web Server n
LBA Modified DNS
Request for Web pages
14Modified Apache Status Reporting
STEP 1
Estimate dynamic queue size i.e. the pending
queue size the remaining bytes of current
request
File lookup Record File Size
Incoming file request
Transmit Record bytes sent
Bytes Sent lt File size ?
15Estimating Server Response Time
Child Process 1 File Size - Bytes Sent Bytes
Remaining
Delay at this server
Child Process 2 File Size - Bytes Sent Bytes
Remaining
Incoming Requests
Child Process n File Size - Bytes Sent Bytes
Remaining
Expected delay at this server Total bytes
remaining / Processing speed
16Web Server Status Reporting
WS- Web Server sends UDP messages
WS 8
WS 1
WS 7
Server status
Server status
Server status
Daemon for server-status collection
WS 2
WS 6
Server status
Server status
Server status
Server status
Server status
WS 3
WS 5
WS 4
17Estimate Network Traffic
- Probing tools for bandwidth probing
- BPROBE estimates the bottleneck bandwidth along a
given path - gt./bprobe machinename_at_domain-name
- CPROBE estimates the available bandwidth along a
path - gt./cprobe machinename_at_domain-name
18Daemon for Bandwidth Reporting
WS
WS
WS
Daemon for Bandwidth collection
WS
WS
ICMP Echo request
WS
WS
WS
ICMP Echo response
19Modified DNS lbnamed
- Modify lbnamed.pl from Stanford
- Create csnet sub-domain within the uccs.edu
domain - Include machines in the csnet domain
- blanca, crestone, redcloud, sanluis, shavano,
wetterhorn - Reads configuration file which specifies each
machine name and IP address of the replicated
servers in the csnet domain - Reads a file generated by LBA data collection
daemon - See if dynamic group name exists
- Sort weight information for group
- Return host with the highest weight , i.e. least
response time
20Calculate Weight
- Better server gets more weight
- Greater the available bandwidth, better the
server response - Less the delay at the server, better the server
response - Weight a Available Bandwidth and Bottleneck
Bandwidth - Weight a 1 .
- server delay
21Calculate Weights
- weight (1 available bandwidth bottleneck
bandwidth) / (( 1 delay) 10000) - For example,
- weight (1 3.613E6 8.986E6)/( (1.0522)
10000) - 8883.79
22/tmp/statFile
- bash-2.04 cat /tmp/statFile
- crestone 154931.187500
- shavano 130693.179688
- wetterhorn 171322.000000
- blanca 177707.015625 ?
- sanluis 110209.695312
23Modified DNS
Probes Path info Server Status
Statistics gathering daemon
/tmp/statFile
Write
Read
gandalf
frodo
Name server for csnet.uccs.edu
Modified name server lbnamed
for csnet.uccs.edu
Name server for .uccs.edu
Request Forwarded
Web page request
Request forwarded
Return IP address of best server
24Webstone 2.5 benchmarking Results
Using LBA
Using round-robin
25Connection Rate LBA vs. Round-Robin
26Thruput LBA vs. Round-Robin
27Server Thruput with LBA
28Thruput 2 servers vs. 4 servers
29Connection rates using LBA
30Client Thruput using LBA
31Connection rate LBA vs. Round-Robin
32Conclusions
- Server connection rate and thruput improved with
the LBA, compared to the round robin method - Better performance by the load balancing system
when it updates the server delay status every
1- 5 seconds. More oscillation in thruput and
connection rates when updates were 10 or 15
seconds.
33Future Directions
- Distributed Load Balancing study cluster
performance with several geographically separated
LBAs communicating among themselves - More accurate network bandwidth measurement using
SimProbe - Compare the effectiveness of server speed
estimation, with estimation using a one-time
benchmark