`
jobar
  • 浏览: 347240 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

高性能web网站优化原则9——减少DNS查找

 
阅读更多
百度百科对DNS的说明:DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53
   每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了。这就是DNS协议所要完成的功能。
   通常浏览器查找一个给定主机名的IP地址要花费20-120ms,在DNS查找完成前,浏览器不能从主机那里下载任何组件。响应时间依赖于DNS解析器,以及网络带宽,从浏览器角度回顾完DNS的主要工作之后,我们可以得出结论:减少页面花在DNS上的查找时间可以提高整体性能。
  
   DNS缓存和TTLs
   DNS查找可以被缓冲起来提高性能。一个请求之后,DNS信息会留在OS的DNS缓存中,之后对于该主机的请求无需DNS查找,直接从缓存读取。但浏览器有自己的缓存和OS的缓存是分离的。只有浏览器缓存中保留了DNS记录,就不会走OS来请求,浏览器丢弃了记录时才会向OS询问地址,然后OS通过其缓存来响应这个请求,如果不存在,则向远程服务器发请求,这会降低速度。
  
   影响DNS缓存的因素
   TTL:查找返回的DNS记录包含了一个存活时间Time-to-live,该值会告诉客户端可以对改记录缓存多久。但浏览器通常会忽略改值,并设置自己的时间限制。
  
   尽管有DNS规范,但在DNS缓存如何工作上,给客户端留下了很大的灵活性,不同的浏览器在请求一个主机名时是否会进行远程DNS请求,是各不相同的。
   总而言之通过使用Keep-Live和较少的域名来减少DNS查找是提高网站性能的实践之一。
分享到:
评论

相关推荐

    [高性能网站建设指南——前端工程师技能精粹(英文原版)].pdf

    《高性能网站建设指南——前端工程师技能精粹》是前端开发领域的一本重要著作,它由Steve Souders撰写,旨在提供一套实用的策略和技巧,帮助网站优化性能,提高加载速度和用户体验。这本书不仅受到业界知名专家如Joe...

    高性能网站建设指南2 中文版 高性能网站建设指南(中文版)

     《高性能网站建设指南》一书介绍了如何针对网站中的Ajax、CSS、JavaScript、Flash和图片进行性能优化。每个性能规则都提供了示例,在本书的配套网站上可以找到代码片段。这些规则包括:  •减少HTTP请求 •使用...

    高性能网站建设指南1

     《高性能网站建设指南》一书介绍了如何针对网站中的Ajax、CSS、JavaScript、Flash和图片进行性能优化。每个性能规则都提供了示例,在本书的配套网站上可以找到代码片段。这些规则包括:  •减少HTTP请求 •使用...

    web网页测试工具——httpwatch

    1. **性能分析**:httpwatch能全面跟踪网页加载过程,从DNS查找、TCP连接、发送请求到接收响应的每个阶段,提供详细的计时信息,帮助定位性能瓶颈。 2. **请求与响应详情**:工具可显示每个HTTP请求的完整头部信息...

    jboss教程——快速上手指南

    【JBoss教程——快速上手指南】 JBoss,全称为Red Hat JBoss Middleware,是由Red Hat公司开发的一款开源中间件服务器,它基于Java EE(Java Platform, Enterprise Edition)标准,提供了一个全面的企业级应用...

    好用的工具 nc httpwatch6.0.14

    1. **实时性能监控**:在浏览器中打开网页时,HttpWatch会自动记录每个HTTP请求的时间线,包括DNS查找、连接建立、发送请求、接收响应等各个阶段,帮助我们快速定位加载缓慢的原因。 2. **请求与响应详情**:...

    HttpWatch Professional 7.0.23 lisence文件

    HttpWatch能够集成在常见的Web浏览器中,如Internet Explorer和Firefox,实时监测网页加载的各个阶段,包括DNS查找、TCP连接、发送请求、接收响应以及页面解析等步骤。通过这些数据,开发者可以识别出哪些资源加载最...

    JAVA WEB学习笔记

    【JAVA WEB学习笔记】——Tomcat中数据源的配置与使用 在Java Web开发中,数据源(DataSource)是管理数据库连接的关键组件。它提供了一种高效、灵活的方式来获取和管理数据库连接,尤其是在大型企业级应用中。...

    平台优化与部署

    - `enableLookups`:是否执行DNS查找,默认为`true`,建议设置为`false`以提高性能。 - `connectionTimeout`:连接超时时间(毫秒),默认为20000毫秒。 **示例配置** ```xml port="8080" protocol="org.apache....

    网络架构课程设计,某中学校园网设计文档全

    此外,还要关注服务器的性能优化,如缓存管理和安全策略,以应对高并发访问和潜在的网络安全威胁。 DHCP服务器则负责自动分配IP地址和其他网络配置信息,简化网络管理。在Windows Server 2003上配置DHCP,我们需要...

    J2EE权威指南(英文)

    - **Java Naming and Directory Interface (JNDI)**:用于查找和引用远程对象的标准API,类似于DNS的功能。 - **Java API for XML Processing (JAXP)**:用于处理XML文档的标准API。 - **Java API for XML Web ...

    计算机导论试卷六.pdf

    23. 访问Web服务器:使用浏览器可以访问Web服务器。 24. LAN:局域网(LAN)是计算机网络的一种,通常用于小范围内的高速数据传输。 25. TCP/IP协议:TCP/IP协议是Internet通信的基础,是一种通信规定。 26. 网际...

    《计算机网络》第六章 课后答案.pdf

    - **缺点**:单点故障风险较高、负载过高时性能下降。 - **分布式方案**: - **优点**:提高了系统的可用性和可靠性、负载均衡能力更强。 - **缺点**:管理复杂度增加、维护成本相对较高。 #### 问题6-7: DNS...

    windowsnt 技术内幕

    性能监视器程序的简介 理解性能监视器程序中的对象 理解性能监视器程序中的计数器 性能监视器程序的图表视图 使用性能监视器程序的警报视图 使用性能监视器程序的日志视图 使用性能监视器程序的时间窗口 创建性能...

    考核题库.zip

    这可能包括SQL语言的使用,如SELECT查询、INSERT、UPDATE、DELETE操作,以及数据库设计、事务处理、备份恢复和性能优化等高级主题。对于关系型数据库如MySQL、Oracle或非关系型数据库如MongoDB、Redis的管理与应用也...

Global site tag (gtag.js) - Google Analytics