70 likes | 184 Views
Lecture 17.5: Project 5 Hints (Getting a job at Akamai). CS 4700 / CS 5700 Network Fundamentals. Revised 3/31/2014. Review: Optimizing Performance. Key goal Send clients to server with best end-to-end performance Performance depends on Server load Content at that server Network conditions
E N D
Lecture 17.5: Project 5 Hints (Getting a job at Akamai) CS 4700 / CS 5700Network Fundamentals Revised 3/31/2014
Review: Optimizing Performance Key goalSend 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
How to fill in DNS response • 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 • 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 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 • 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