Project 5 hints - David Choffnes

Download Report

Transcript Project 5 hints - David Choffnes

CS 4700 / CS 5700
Network Fundamentals
Lecture 17.5: Project 5 Hints
(Getting a job at Akamai)
Revised 3/31/2014
Review: Optimizing Performance
2
Key goal
Send clients to server with best end-to-end performance
 Performance depends on
 Server
load
 Content at that server
 Network conditions

Optimizing for server load
 Load
balancing, monitoring at servers
 Generally solved
DNS Redirection
3
How to fill in DNS response
4

Geolocation
 GeoIP
database provides IP->location
 Which IP address should you lookup?
 How should you use the location?

Active measurement
 Ping
latencies
 What should you probe?
 iPlane dataset contains useful information

Passive measurement
 How
can you measure RTT without any active probes?
Caching Web server
5

Space on each account is limited
 10MB
for a corpus that much larger
 Distribution of requests to content:
 http://dumps.wikimedia.org/other/pagecounts-raw/2014/2014-
03/

General approach
 Examine
GET parameters
 Check database for content
 If
present, serve from cache
 If not, fetch from origin and (possibly) cache
Running replicated services
6





Step 1: Debug on a single machine interactively
Step 2: Develop scripts to automate running
Step 3: Test on one server and make sure everything
works properly
Step 4: Test on two servers in a fully automated
deployment
Step 5: Deploy on all servers
Other notes
7


You cannot cache at the origin server, don’t bother trying
to log in there
DNS server will be rebooted daily
 If
you test your code on any other CCIS machine, your DNS
responses will be blocked

Getting measurement data to DNS server
 What



can you reuse to do this?
HTTP GET messages generated via wget
DNS lookups performed using dig
Set up SSH keys for your accounts on EC2
 Only
way to get non-interactive commands