Dynamic Load Balancing on Web

advertisement
Dynamic Load Balancing on
Web-server Systems
Valeria Cardellini, Michele Colajanni,
and Philip S. Yu
Presented by Sui-Yu Wang
Distributed Web-server System
• Consisting of multiple Web-server hosts,
distributed on LANs and WANs
• Spread incoming requests among these
servers
• Each server can respond to any request
• Successful load-balancing approaches make
the distributed system appear as a single
host
Distributed Web-server
Architectures
• Client-based
– Web clients
– Client-side proxies
• Web-server based
– DNS-based
– Dispatcher-based
– Server-based
DNS-based approach
• Architecture transparency
• DNS has limited control on requests
reaching the Web cluster
– TTL
• Scheduling algorithms
– Constant TTL
– Adaptive TTL
Scheduling algorithms
• Constant TTL algorithms
– System-stateless algorithms
• Round-Robin DNS
– Server-state-based algorithms
– Client-state-based algorithms
• Hidden load weight
– Multitier round-robin policy
• Consider relative server-to-client topology and client-to-server
link latency
• Network proximity information, round trip delays
– Server-and client-state-based algorithms
Scheduling algorithms
• Adaptive TTL algorithms
– Select server similar to the hidden load weight
algorithms
– Assign appropriate TTL
– Can scale from LANs to WANs
Dispatcher-based Approach
• Centralized request scheduling
– Packet rewriting
• Single-rewriting
• Double-rewriting
– Packet forwarding
– HTTP redirection
Packet single-rewriting
Packet double-rewriting
Packet forwarding
• Network Dispatcher
– Works with LANs and WANs
– Client and server transparent
• ONE-IP Address
– Routing-based dispatching
– Broadcast-based dispatching
– No dynamic load-balancing based on server
load
HTTP redirection
• Centralized dispatcher
• Does not require modification of packet IP
address
• Server-state based dispatching
• Location-based dispatching
Server-based approach
•
•
•
•
Two-level dispatching
No centralized dispatching
HTTP redirection
Packet redirection
– Static routing
– Load-balancing
Comparison of different
approaches
Performance evaluation
• Exponential model: the number of page requests per
session and the time between two page requests from the
same client were assumed to be exponentially distributed
Performance evaluation
• Client load variability is represented by some heavy-tailed
function
Download