IMPROVING WEB SERVER CLUSTER PERFORMANCE USING LOAD BALANCING AGENTS - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

IMPROVING WEB SERVER CLUSTER PERFORMANCE USING LOAD BALANCING AGENTS

Description:

Dynamic selection based on two factors: response time of each server ... Distributed Load Balancing: study cluster performance with several ... – PowerPoint PPT presentation

Number of Views:51
Avg rating:3.0/5.0
Slides: 34
Provided by: csU75
Learn more at: http://cs.uccs.edu
Category:

less

Transcript and Presenter's Notes

Title: IMPROVING WEB SERVER CLUSTER PERFORMANCE USING LOAD BALANCING AGENTS


1
IMPROVING WEB SERVER CLUSTER PERFORMANCE USING
LOAD BALANCING AGENTS
  • Indira Semwal

2
Introduction
  • 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

3
Problem
  • 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

4
THE 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
5
Factors affecting web access
  • Load at web server
  • Processing power of web server
  • Available bandwidth over the network

6
Related 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

7
Application 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

8
Dynamic 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

9
A 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

10
Load 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

11
Selection 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

12
Dynamic 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

13
Load 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
14
Modified 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 ?
15
Estimating 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
16
Web 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
17
Estimate 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

18
Daemon for Bandwidth Reporting
WS
WS
WS
Daemon for Bandwidth collection
WS
WS
ICMP Echo request
WS
WS
WS
ICMP Echo response
19
Modified 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

20
Calculate 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

21
Calculate 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

23
Modified 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
24
Webstone 2.5 benchmarking Results
Using LBA
Using round-robin
25
Connection Rate LBA vs. Round-Robin
26
Thruput LBA vs. Round-Robin
27
Server Thruput with LBA
28
Thruput 2 servers vs. 4 servers
29
Connection rates using LBA
30
Client Thruput using LBA
31
Connection rate LBA vs. Round-Robin
32
Conclusions
  • 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.

33
Future 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
Write a Comment
User Comments (0)
About PowerShow.com