70 likes | 194 Vues
This lecture provides essential hints for getting a job at Akamai, focusing on optimizing end-to-end performance. Key aspects include understanding server load, network conditions, and content handling at servers. It covers load balancing, DNS redirection, and geolocation techniques using GeoIP databases. Additionally, it discusses active and passive measurement methods for assessing network performance, caching strategies for web servers, and detailed steps for deploying replicated services. These insights will enhance your abilities and readiness for roles in networking fundamentals.
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