Server Traffic Management. Jeff Chase Duke University, Department of Computer Science CPS 212: Distributed Information Systems



Similar documents
Single Pass Load Balancing with Session Persistence in IPv6 Network. C. J. (Charlie) Liu Network Operations Charter Communications

1. Comments on reviews a. Need to avoid just summarizing web page asks you for:

Availability Digest. Redundant Load Balancing for High Availability July 2013

Lecture 3: Scaling by Load Balancing 1. Comments on reviews i. 2. Topic 1: Scalability a. QUESTION: What are problems? i. These papers look at

Layer 4-7 Server Load Balancing. Security, High-Availability and Scalability of Web and Application Servers

CS514: Intermediate Course in Computer Systems

Load Balancing and Sessions. C. Kopparapu, Load Balancing Servers, Firewalls and Caches. Wiley, 2002.

HyLARD: A Hybrid Locality-Aware Request Distribution Policy in Cluster-based Web Servers

GLOBAL SERVER LOAD BALANCING WITH SERVERIRON

Content-Aware Load Balancing using Direct Routing for VOD Streaming Service

Lecture 8b: Proxy Server Load Balancing

Building a Highly Available and Scalable Web Farm

ZEN LOAD BALANCER EE v3.04 DATASHEET The Load Balancing made easy

Understanding Slow Start

Avaya P333R-LB. Load Balancing Stackable Switch. Load Balancing Application Guide

MULTI WAN TECHNICAL OVERVIEW

ExamPDF. Higher Quality,Better service!

Load Balancing for Microsoft Office Communication Server 2007 Release 2

3/21/2011. Topics. What is load balancing? Load Balancing

Managing Virtual Servers

Microsoft Office Communications Server 2007 & Coyote Point Equalizer Deployment Guide DEPLOYMENT GUIDE

Topics. 1. What is load balancing? 2. Load balancing techniques 3. Load balancing strategies 4. Sessions 5. Elastic load balancing

APV9650. Application Delivery Controller

Scalability Issues in Cluster Web Servers

Load Balancing Web Applications

AppDirector Load balancing IBM Websphere and AppXcel

Creating Web Farms with Linux (Linux High Availability and Scalability)

High Availability HTTP/S. R.P. (Adi) Aditya Senior Network Architect

Advanced Computer Networks. Layer-7-Switching and Loadbalancing

DPtech ADX Application Delivery Platform Series

Load Balancing und Load Sharing

Server Iron Hands-on Training

HUAWEI OceanStor Load Balancing Technical White Paper. Issue 01. Date HUAWEI TECHNOLOGIES CO., LTD.

Lab 5 Explicit Proxy Performance, Load Balancing & Redundancy

ZEN LOAD BALANCER EE v3.02 DATASHEET The Load Balancing made easy

How To Balance A Load Balancer On A Server On A Linux (Or Ipa) (Or Ahem) (For Ahem/Netnet) (On A Linux) (Permanent) (Netnet/Netlan) (Un

Web Application Hosting Cloud Architecture

CS 188/219. Scalable Internet Services Andrew Mutz October 8, 2015

S y s t e m A r c h i t e c t u r e

Content Delivery Networks

Data Sheet. VLD 500 A Series Viaedge Load Director. VLD 500 A Series: VIAEDGE Load Director

Scalable Internet Services and Load Balancing

Application Delivery Networking

FortiOS Handbook - Load Balancing VERSION 5.2.2

APV x600 Series. Application Delivery Controller APV1600, APV2600, APV4600, APV5600, APV6600, APV8600, APV9600

Exam Name: Foundry Networks Certified Layer4-7 Professional Exam Type: Foundry Exam Code: FN0-240 Total Questions: 267

Radware s AppDirector and AppXcel An Application Delivery solution for applications developed over BEA s Weblogic

Firewall Load Balancing

VERITAS Cluster Server Traffic Director Option. Product Overview

INTRODUCTION TO FIREWALL SECURITY

FLEX: Load Balancing and Management Strategy for Scalable Web Hosting Service

Purpose-Built Load Balancing The Advantages of Coyote Point Equalizer over Software-based Solutions

Hashing in Networked Systems

Application Delivery Controller (ADC) Implementation Load Balancing Microsoft SharePoint Servers Solution Guide

Building a Systems Infrastructure to Support e- Business

Avaya P330 Load Balancing Manager User Guide

Content Switching Module for the Catalyst 6500 and Cisco 7600 Internet Router

Alteon Web OS. Intelligent Internet. What s New in Alteon Web OS Alteon Web OS Benefits. Product Brief

Routing Security Server failure detection and recovery Protocol support Redundancy

Deploying the Barracuda Load Balancer with Office Communications Server 2007 R2. Office Communications Server Overview.

The Evolution of Application Acceleration:

Scalable Internet Services and Load Balancing

CS312 Solutions #6. March 13, 2015

CLE202 Introduction to ServerIron ADX Application Switching and Load Balancing

Content Delivery Networks

Deployment Guide Oracle Siebel CRM

Outline VLAN. Inter-VLAN communication. Layer-3 Switches. Spanning Tree Protocol Recap

BASICS OF SCALING: LOAD BALANCERS

Implementing Microsoft Office Communications Server 2007 With Coyote Point Systems Equalizer Load Balancing

ENQUIRY NO.NIE/PS/ DATE: 02/09/2014

Basic Administration for Citrix NetScaler 9.0

Deployment Guide Microsoft IIS 7.0

FortiOS Handbook Load Balancing for FortiOS 5.0

How To Balance A Web Server With Remaining Capacity

Global Server Load Balancing

WHITE PAPER MICROSOFT LIVE COMMUNICATIONS SERVER 2005 LOAD BALANCING WITH FOUNDRY NETWORKS SERVERIRON PLATFORM

DMZ Network Visibility with Wireshark June 15, 2010

TESTING & INTEGRATION GROUP SOLUTION GUIDE

WebGUI Load Balancing

Deployment Guide. AX Series with Microsoft Office SharePoint Server

Configuring Stickiness

How To Handle A Power Outage On A Server Farm (For A Small Business)

Advanced Networking Technologies

DEPLOYMENT GUIDE Version 1.0. Deploying the BIG-IP LTM with Apache Tomcat and Apache HTTP Server

Introduction. Linux Virtual Server for Scalable Network Services. Linux Virtual Server. 3-tier architecture of LVS. Virtual Server via NAT

Application Note. Lync 2010 deployment guide. Document version: v1.2 Last update: 12th December 2013 Lync server: 2010 ALOHA version: 5.

How To Use The Cisco Ace Module For A Load Balancing System

Microsoft Lync Server Overview

Advanced SLB High Availability and Stateless SLB

Direct Web Switch Routing with State Migration, TCP Masquerade, and Cookie Name Rewriting

Alteon Application Switch Microsoft SharePoint 2013 Integration Guide

Load Balancing. FortiOS Handbook v3 for FortiOS 4.0 MR3

TheImpactofWeightsonthe Performance of Server Load Balancing(SLB) Systems

CNS-208 Citrix NetScaler 10 Essentials for ACE Migration

Configuring Citrix NetScaler for IBM WebSphere Application Services

Deploying the BIG-IP LTM v10 with Microsoft Lync Server 2010 and 2013

Transcription:

Server Traffic Management Jeff Chase Duke University, Department of Computer Science CPS 212: Distributed Information Systems

The Server Selection Problem server array A server farm B Which server? Which network site? Contact the weather service. not-so-great solutions static client binding manual selection HTTP forwarding better old solutions DNS round robin [Brisco, RFC 1794] WebOS smart clients etc. [Vahdat97] today s buzzwords content-aware traffic management content switching (L4-L7) server switching web switching

Traffic Management for Clusters Today we focus on the role of the network infrastructure in routing requests to servers in a cluster. Ignore the wide-area problem for now (DNS and other tricks later). Relatively simple switches can support ACLs to filter traffic to specific TCP or UDP ports from given addresses or subnets. Current-generation server switches incorporate much richer L4 and contentaware switching features. How much of the front end support can we build into the network elements while preserving wire speed performance? What request routing policies should server arrays use? Key point: the Web is the only thing that matters commercially. TCP with HTTP+SSL is established as lingua franca, so more TCP/HTTP/SSL functionality migrates into hardware or firmware.

Traffic Management for Clusters Clients L4: TCP L7: HTTP SSL etc. virtual IP addresses (VIPs) smart switch Goals server load balancing failure detection access control filtering priorities/qos external VIP management request locality transparent caching server array What to switch/filter on? L3 source IP and/or VIP L4 (TCP) ports etc. L7 URLs and/or cookies L7 SSL session IDs

L4 Server Load Balancing (SLB) Issues switch redundancy mechanics of L4 switching handling return traffic server failure detection (health checks) load balancer server array Policies random weighted round robin (WRR) lightest load least connections Key point: the heavy lifting of server selection happens only on connect request (SYN). Performance metric: connections per second. Limitations connection-grained no request locality no session locality failover?

Mechanics of L4 Switching Client C at TCP port p1 requests connection to TCP server at port p2 at VIP address x. a b c d x Smart switch: 1. recognizes connect request (TCP SYN) 2. selects specific server (d) for service at p2 3. replaces x with d in connect request packet 4. remembers connection {(C,p1),(d,p2)} 5. for incoming packets from (C,p1) for (x,p2) replace virtual IP address x with d forward to d 6. for outgoing packets from (d,p2) for (C,p1) replace d with x forward to C an instance of network address translation (NAT)

Handling Return Traffic fast dumb switch incoming traffic routes to smart switch smart switch changes MAC address smart switch leaves dest VIP intact all servers accept traffic for VIPs Clients slow smart switch server array server responds to client IP dumb switch routes outgoing traffic simply a matter of configuration examples IBM enetwork Dispatcher (host-based) Foundry, Alteon, Arrowpoint, etc. alternatives TCP handoff (e.g., LARD)

URL Switching a,b,c Idea: switch parses the HTTP request, retrieves the request URL, and uses the URL to guide server selection. web switch server array d,e,f g,h,i Example: Foundry host name URL prefix URL suffix Substring pattern URL hashing Advantages separate static content from dynamic reduce content duplication improve server cache performance cascade switches for more complex policies Issues HTTP parsing cost URL length delayed binding server failures HTTP 1.1 session locality hybrid SLB and URL popular objects

The Problem of Sessions In some cases it is useful for a given client s requests to stick to a given server for the duration of a session. This is known as session affinity or session persistence. session state may be bound to a specific server SSL negotiation overhead One approach: remember {source, VIP, port} and map to the same server. The mega-proxy problem: what if the client s requests filter through a proxy farm? Can we recognize the source? Alternative: recognize sessions by cookie or SSL session ID. cookie hashing cookie switching also allows differentiated QoS Think frequent flyer miles.

LARD LARD front-end (a,b,c: 1) (d,e,f: 2) (g,h,i: 3) a,b,c server array d,e,f g,h,i LARD front-end maintains an LRU cache of request targets and their locations, and table of active connections for each server. Idea: route requests based on request URL, to maximize locality at back-end servers. LARD predates commercial URL switches, and was concurrent with URL-hashing proxy cache arrays (CARP). Policies 1. LB (locality-based) is URL hashing. 2. LARD is locality-aware SLB: route to target s site if there is one and it is not overloaded, else pick a new site for the target. 3. LARD/R augments LARD with replication for popular objects.

LARD Performance Study LARD paper compares SLB/WRR and LB with LARD approaches: simulation study smallriceandibmwebserverlogs jiggle simulation parameters to achieve desired result Nodes have small memories with greedy-dual replacement. WRR combined with global cache-sharing among servers (GMS). WRR/GMS is global cache LRU with duplicates and cachesharing cost. LB/GC is global cache LRU with duplicate suppression and no cache-sharing cost.

LARD Performance Conclusions 1. WRR has the lowest cache hit ratios and the lowest throughput. There is much to be gained by improving cache effectiveness. 2. LB* achieve slightly better cache hit ratios than LARD*. WRR/GMS lags behind...it s all about duplicates. 3. The caching benefit of LB* is minimal, and LB is almost as good as LB/GC. Locality-* request distribution induces good cache behavior at the back ends: global cache replacement adds little. 4. Better load balancing in the LARD* strategies dominates the caching benefits of LB*. LARD/R and LARD achieve the best throughput and scalability; LARD/R yields slightly better throughput.

LARD Performance: Issues and Questions 1. LB (URL switching) has great cache behavior but lousy throughput. Why? Underutilized time results show poor load balancing. 2. WRR/GMS has good cache behavior and great load balancing, but not-so-great throughput. Why? How sensitive is it to CPU speed and network speed? 3. What is the impact of front-end caching? 4. What is the effectivness of bucketed URL hashing policies? E.g., Foundry: hash URL to a bucket, pick server for bucket based on load. 5. Why don t L7 switch products support LARD? Should they? [USENIX 2000]: use L4 front end; back ends do LARD handoff.

Possible Projects 1. Study the impact of proxy caching on the behavior of the request distribution policies. flatter popularity distributions 2. Study the behavior of alternative locality-based policies that incorporate better load balancing in the front-end. How close can we get to the behavior of LARD without putting a URL lookup table in the front-end? E.g., look at URL switching policies in commercial L7 switches. 3. Implement request switching policies in the FreeBSD kernel, and measure their performance over GigE. Mods to FreeBSD for recording connection state and forwarding packets are already in place. 4. How to integrate smart switches with protocols for group membership or failure detection?