IMGD 1001: Debugging by Mark Claypool ([email protected]) Robert W. Lindeman ([email protected])
Adaptive Content Delivery for Scalable Web Servers Authors: Rahul Pradhan and Mark Claypool...
-
date post
21-Dec-2015 -
Category
Documents
-
view
213 -
download
0
Transcript of Adaptive Content Delivery for Scalable Web Servers Authors: Rahul Pradhan and Mark Claypool...
Adaptive Content Delivery for Scalable Web Servers
Authors: Rahul Pradhan and Mark Claypool
Presented by: David Finkel
Computer Science Department
Worcester Polytechnic Institute
Worcester, MA, USA
Outline
Introduction Managing LoadManaging Load Approach - Methodology - Design Experiments Client – Side Experiments Future Work Conclusions
Introduction
Enormous Growth of Web Exponential in number if users,
pages, and sites
New Web uses require different resources Static: Disk, Network Dynamic: CPU, Network Media streaming: CPU, Disk+,
Network+
Web Server Overload
Loaded server rejects connections, denying service Companies lose revenue
Loaded server increases response times Slower pages viewed as less
interesting
Current Approaches to Managing Load
Over provisioning Beef up single server Can still become loaded during flash crowds
Load balancing Server farm or CDN Individual servers may still become over-
loaded
Content adaptation Reduce resources needed upon heavy load
Content Adaptation Examples
Using “thumbnails” instead of full, inline imagesReducing the number of local links Reducing the number of embedded objectsChanging the quality of imagesCurrent approaches manual! Our approach is to adapt content
automatically
Our Approach
Two versions of Web pages High quality to serve under normal load Low quality to serve under high load
Monitor the server load A separate light weight standalone process
Upon heavy load, server switches to low quality transparentlyRequires no modification to Server Browser http protocol
Adaptive Content Delivery System Architecture
Load Monitor
Adaptation Module
Content Switching
CPU, Disk, Network
Web Server
Disk
Requests
Response
Base System Our System
Load Monitor
Continuously monitors the utilization of the server and the observed response timeDeveloped utilities to measure utilization CPU, Network, Disk Observed Response Time
Used Linux /proc file system, but techniques general enough for any OS
Adaptation Module
Input of load values from the load monitorDecides low or high load Low and high thresholds
Threshold values determined by prior measurement Scripts to induce load on server httperf to generate requests measured response time (using httperf)
Content Selector TransparentlyTransparently switches contentswitches content depending on
the decision made by the adaptation module.
We use symbolicsymbolic linkslinks to make the same file point
to different qualities of content.
indexhigh.html
index.html indexlow.html
ExperimentsServer P-III, 500,128 MB RAM, IDE, 10 Mpbs, Linux
2.2.14, Apache 1.3.12
Workloads Static Workload Dynamic Workload Multimedia Workload
Metrics Throughput (Responses/sec) Average Response Time Percentage of Errors Frame Rate (for Multimedia Clients)
Client – Side Experiments
Experiments on realreal servers to determine the impact of file size on response time.
Used a modified httperfhttperf for our measurements to generate requests
Measured the response time along with the connection set up time and transfer
time.
Conclusions
Server load criticalWe present a mechanism to Quantify server load Adapat transparently to client
Improves server performance: supports 25% more static requests supports twice as many Multimedia
clients supports 15% more CGI requests
Future Work
Adapting to heterogeneous client environment Clients may have different
bandwidths
Adding QoS features to the Web server Range of content quality at server Maximize QoS for user
Adaptive Content Delivery for Scalable Web Servers
Authors: Rahul Pradhan and Mark Claypool
Presented by: David Finkel
Computer Science Department
Worcester Polytechnic Institute
Worcester, MA, USA