320 likes | 469 Views
User-Perceived Latency. Long perceived latency is the most serious WWW performance problem. The delay from the time a request is issued until response is received. HTTP Request-response. Server. Client. DNS lookup (address to name) TCP connection setup
E N D
User-Perceived Latency • Long perceived latency is the most serious WWW performance problem The delay from the time a request is issued until response is received.
HTTP Request-response Server Client • DNS lookup (address to name) • TCP connection setup • Server processing time +/ reverse DNS (access control) • Transmission time • Request-response RTT DNS TCP SYN TCP ACK ACK, HTTP GET DNS HTTP response
HTTP/1.1 Server Client HTTP/1.0 : TCP connection for each HTTP request. HTTP/1.1: Persistence and Pipelining HTTP GET • Persistent HTTP: TCP connection is re-used for additional HTTP requests • Pipelining: HTTP requests - responses are interleaved to save RTTs DNS HTTP response HTTP GET HTTP response HTTP GET HTTP response
Proactive DNS Caching:Addressing a Performance Bottleneck Edith Cohen AT&T Labs-Research http://www.research.att.com/~edith Haim Kaplan Tel-Aviv University http://www.math.tau.ac.il/~haimk
Talk Overview • Overview and Motivation • DNS architecture • effect of DNS lookup latency • Proactive DNS caching • Renewal Policies • Simultaneous Validation • Conclusion
Domain Name System hostname IP-address • Essential for Internet name-based communication • Many-to-many mapping (virtual hosting, mirrors, aliases) • Distributed database maintained by a hierarchy of name-servers www.research.att.com 135.207.23.30
resolving www.research.att.com ? ? Local Name-Server ? DNS Hierarchy
Resolution may involve multiple remote name-servers DNS Lookup Client • Root DNS server • returns NS for att.com • dnsprime.att.com • returns NS for research.att.com • ns0.research.att.com • returns IP-address for www.research.att.com root dnsprime.att.com ns0.research.att.com
Resolving Hostnames • Browser: if no answer in browser cache, query is sent to the local DNS server. • Name-server: use own cache. For missing info, iteratively query remote name-servers, while following referrals/ delegations.
DNS Caching Mechanism • Data is stored in Resource Records (RR) (NS, A, CNAME, SOA) • Each record has a TTL value (Time To Live) • TTL values are assigned by respective domain administrators. • Record may be cached and used only for TTL duration.
Latency Effect of DNS Lookups All requests > 60 sec after previous, ATT log
Latency Effect of DNS Lookups (2) AltaVista referrals requests, ATT proxy log
Performance effect... • NLANR cache service times on AKAMAI servers: {a4,a111}.g.akamaitech.net
3 to 6 seconds 4% > 3 seconds Service Times DistributionURLs served by a4.g.akamaitech.net 0 to 3 seconds 7351 requests in 6 days, 90%<200ms, 95% < 500ms
Issues with DNS Latency • RTTs to (several) remote name servers • Not addressed by fatter pipes, faster high-capacity content servers. • Highly sensitive to packet loss • Inconsistent - fraction of lookups suffer long/pathological delays • As Internet service improves, will increasingly become more noticeable.
no lookup delay (data is available locally) scalability problems: growing database size coherence single point of failure/load Scalable & robust distributed control distributed presence lookup delays from remote queries Before DNS DNS onehosts.txt file: centrally maintained ftp’d where needed Hierarchy of distributed name-servers.
Passive DNS caching • Query remote NS only to answer a current client request • Cache (use) results till TTL expires Used by BIND name-server software
Proactive DNS caching Guidelines: • Renewal Policies: auto-refresh entries just before TTL expires • Simultaneous Validation: Concurrently validate & use “expired” address Respect TTL values (be transparent to client) Minimize overhead to DNS servers Our Proposals:
Methodology and Logs • Proxy logs • Simulate associated DNS cache • Separately issued DNS queries to obtain: TTL values, rate-of-change of IP-address.
Renewal Policies - Issue a renewal query upon expiration. - Policy determines when to renew. - Tradeoff of overhead/reduced-latency. • R-LRU renew r times passed the most-recent cache hit • R-LFU grant r additional renewals per hit ( TTL interval) • R-FIFO grant r renewals at entry time to the cache • R-OPT optimal omniscient offline renewal policy
Performance of Renewal Policies ATT proxy log
Performance of Renewal Policies UC (NLANR) log
Renewal Policies: Conclusions from Experiments • R-LRU and R-LFU performed equally well across logs • R-FIFO did not perform as well • Reduction in misses corresponds to reduction in long DNS query times • More effective for more clients
Renewal Policies: Implementation and Extensions • Most natural Implementation is within the name-server • Overhead control: • Pre-expiration renewals (usually 1 RTT) • off-peak renewals • Policies can be adapted to account for varying DNS resolution times
Challenge: How do we benefit from valid expired addresses while still respecting TTL values. TTL versus Rate-of-change • TTL values are set conservatively: Rate-of-change of addresses is significantly lower than TTL value. • So, when “expired” records are discarded, we often loose valuable and valid information
Simultaneous Validation • Keep expired address records. • When a client request arrives, concurrently: • Initiate a connection to host, using expired IP-address, and start fetching content • Issue a validating DNS query • If validation is successful, serve the content to the client
Client DNS GAIN Web Server Web Server SV Latency Gain Client • DNS lookup • session with Web server: • Establishing TCP connection(s), sending HTTP request(s), ... DNS
Simultaneous Validation:Implementation Choices • browser or proxy (with a separate DNS cache) • requires maintenance of a separate name-to-address cache • single-entity implementation • name-server (using its internal cache) • requires protocol support for 2-phase resolutions • requires separate proxy or browser support • SV is more effective for a larger user base.
Summary • DNS lookup delays can be addressed by increasing local availability of RRs • Renewal Policies • incur overhead of additional queries • simple limited deployment is effective • inter-request-time < c * TTL • Simultaneous Validation • minimal overhead • more involved implementation • inter-request-time < IP-address-lifetime
Future Work • Single, replicated, hostname database + SV • Co-operative DNS caching • Distributed “local” name server • SV and Renewal at the RR level • Collect better data: name-server logs combined with logged HTTP requests • Refreshment policies for Web content