优化网站设计(九):减少DNS查找的次数

news/2024/5/10 20:57:28/文章来源:https://blog.csdn.net/weixin_30415801/article/details/96326335

前言

网站设计的优化是一个很大的话题,有一些通用的原则,也有针对不同开发平台的一些建议。这方面的研究一直没有停止过,我在不同的场合也分享过这样的话题。

作为通用的原则,雅虎的工程师团队曾经给出过35个最佳实践。这个列表请参考

Best Practices for Speeding Up Your Web Site  http://developer.yahoo.com/performance/rules.html

同时,他们还发布了一个相应的测试工具Yslow http://developer.yahoo.com/yslow/

我强烈推荐所有的网站开发人员都应该学习这些最佳实践,并结合自己的实际项目情况进行应用。

接下来的一段时间,我将结合ASP.NET这个开发平台,针对这些原则,通过一个系列文章的形式,做些讲解和演绎,以帮助大家更好地理解这些原则,并且更好地使用他们。

准备工作

为了跟随我进行后续的学习,你需要准备如下的开发环境和工具

  1. Google Chrome 或者firefox ,并且安装 Yslow这个扩展组件.请注意,这个组件是雅虎提供的,但目前没有针对IE的版本。
    1. https://chrome.google.com/webstore/detail/yslow/ninejjcohidippngpapiilnmkgllmakh

      Technorati Tags: Performance,Web design,ASP.NET

    2. https://addons.mozilla.org/en-US/firefox/addon/yslow/
    3. 你应该对这些浏览器的开发人员工具有所了解,你可以通过按下F12键调出这个工具。
  2. Visaul Studio 2010 SP1 或更高版本,推荐使用Visual Studio 2012
    1. http://www.microsoft.com/visualstudio/eng/downloads
  3. 你需要对ASP.NET的开发基本流程和核心技术有相当的了解,本系列文章很难对基础知识做普及。

本文要讨论的话题

这一篇我和大家讨论第九个原则:Reduce DNS Lookups(减少DNS查找的次数)。

DNS查找是一个较为底层的行为,我们在浏览器中输入某个地址,例如http://www.cnblogs.com ,我们的浏览器要能正确地定位到博客园的服务器之前,就必须对这个域名进行解析,很显然它自己是无法解析的,所以它需要通过一定的机制进行查找,这就是为什么我们通常上网之前需要设置DNS服务器的原因。

image

查找DNS是需要花费时间的,经验的总结是至少需要20毫秒左右的时间。在此期间,浏览器是无法下载其他任何内容资源的。所以浏览器会想办法对DNS的查找结果进行缓存。而除了浏览器的缓存之外,操作系统(例如Windows)也会对DNS查询的结果做缓存。只不过,由于浏览器使用太过频繁,目前的主流浏览器都使用自己独有的缓存,而不使用操作系统的缓存

  1. IE 中默认情况下对DNS的缓存时间为 30分钟。关于如何配置,可以通过阅读这篇文章了解更多信息。
  • 早期的版本设置为1天,与Windows的设置一致。
  • Windows的DNS缓存,可以通过ipconfig /displaydns 这个命令来查看。
Firefox默认的DNS缓存时间据说为1分钟,如果不满意这个选项,直接修改 network.dnsCacheExpiration 即可。 Google Chrome默认的DNS缓存时间,据我观察也是1分钟,可以通过chrome://net-internals/#dns 这个地址查看。

 

我们可以看到即便同样为浏览器,它们在缓存DNS的问题上也不尽相同(主要体现在时间上面),这个差异到底有什么考虑呢?

  1. 缓存时间较长,有利于重复利用DNS缓存,提高速度。
  2. 缓存时间较短,有利于及时地检测到目标站点的IP地址更新,以进行正确的访问。

所以,两者都有其优点和考虑。

那么,讲了这么多,了解这个只是对于我们网站设计和优化有何启示呢?

  1. 由于DNS查找是需要时间的,而且它们通常都是只缓存一定的时间,所以应该尽可能地减少DNS查找的次数。
  2. 减少DNS查找次数,最理想的方法就是将所有的内容资源都放在同一个域(Domain)下面,这样访问整个网站就只需要进行一次DNS查找,这样可以提高性能。
  3. 但理想总归是理想,上面的理想做法会带来另外一个问题,就是由于这些资源都在同一个域,而HTTP /1.1 中推荐客户端针对每个域只有一定数量的并行度(它的建议是2),那么就会出现下载资源时的排队现象,这样就会降低性能。
  4. 所以,折衷的做法是:建议在一个网站里面使用至少2个域,但不多于4个域来提供资源。我认为这条建议是很合理的,也值得我们在项目实践中去应用。

我们最后可以来看看博客园主页在这方面的设计

image

我们看到加载主页的时候,会有47个请求,这些请求分布在不同的主机(HOST),去除重复值之后,有如下11个主机。前5个是与博客园本身有关的,后6个是与广告有关的。

www.cnblogs.com
common.cnblogs.com
static.cnblogs.com
pic.cnitblog.com
passport.cnblogs.com
www.google-analytics.com
partner.googleadservices.com
pubads.g.doubleclick.net
static.googleadsserving.cn
csi.gstatic.com
p4-gg6ayhm2r5hvm-ukushuadvfiqpnzm-if-v6exp3-v4.metric.gstatic.com

转载于:https://www.cnblogs.com/haiyabtx/p/3622714.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_713417.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

thinkphp建站-前后台文件配置

首先项目大结构如下: 增加了一个Public文件,主要是管理公共资源,比如图片,样式等,展开如下 子文件夹Image负责管理网页图片,Style文件夹负责管理css,JavaScript等样式,Upload文件夹负…

微网站|h5弹窗|手机网站 html5 弹窗、弹层、提示框、加载条

为了精确体验,您可通过Chrome设备模式浏览。或通过[url]手机扫二维码进入[/url] layer mobile是为移动设备(手机、平板等webkit内核浏览器/webview)量身定做的弹层支撑,采用Native JavaScript编写,完全独立于PC版的lay…

高并发高流量网站架构[转]

2019独角兽企业重金招聘Python工程师标准>>> Web2.0的兴起,掀起了互联网新一轮的网络创业大潮。以用户为导向的新网站建设概念,细分了网站功能和用户群,不仅成功的造就了一大批新生的网站,也极大的方便了上网的人们。但…

[置顶]       Web开发百宝箱——提升网站档次的时尚 jQuery 图片滚动插件

这篇文章向大家推荐8款时尚的 jQuery 图片滚动插件。jQuery 是最流行和使用最广泛的 JavaScript 框架,它可以让帮助你在你的项目中加入一些很炫的图片滚动效果。希望这些插件对你有所帮助,能够帮助你节省时间和精力。 Smooth Div Scroll 效果非常平滑的鼠…

【学术分享】推荐一个免费下载外文文献的网站

点击上方,选择星标或置顶,每天给你送干货!阅读大概需要3分钟跟随小博主,每天进步一丢丢来自:AI算法与图像处理今天给大家分享一个非常好用的外文文献网站,由于版权等的限制有些文献不支持下载,给…

细节也可以决定网站中交互设计的成败

细节也可以决定网站中交互设计的成败 2009年4月23日,外面的天气虽然是烟雨濛濛,但是在电子工业出版社博文视点公司的会议室里充满了阳光与热情,因为今天我们邀请到了《细节决定交互设计的成败》的作者 张亮老师给我们的团队进行了很好的交流&…

【学术分享】40个科研学术网站,收藏必备,予取予求!

点击上方,选择星标或置顶,每天给你送干货!阅读大概需要15分钟跟随小博主,每天进步一丢丢整理:AI算法与图像处理来源:中外学术情报科研工作者每天日常莫过于看文献、做实验、写论文。人生最郁闷的事情不过于…

秋色园网站转移过程记录篇

前言:昨夜断网了,早上把长宽的工作人员叫到家里来检测才发现,原来到期了,要续费交钱了。昨夜断网时,无聊中就看了下某网友的给的DLL里的关于数据层多数据库的实现,看到一个槽点,本来想写写。今天…

一本专门解决网站可用性和易用性问题的实用书籍

本文选自《网站交互设计模式》一书前言。 4年前,我们在本书开始写到一个人发现了一条会说话的狗的故事。当问到那条狗说了什么时,那个人回答:“谁关心这个?它是一条会说话的狗啊!”在这件事情发生几年后,即…

码支付如何对接网站_做“刷脸支付”怎么推广?怎么办理刷脸支付POS机?

办理“刷脸支付”pos机所需资料①营业执照副本原件照片一张(备注:拍全,拍清晰)②法人身份证原件正反面各拍一张(备注:拍全,拍清晰)③法人银行卡正反面照片各一张(需要提供:具体开户行)④法人绑定支付宝的手机号⑤商户:1、门头照片拍全一张2、店内三张3、…

【收藏】40 个学术网站,满足科研文献需求!

点击上方,选择星标或置顶,每天给你送干货!阅读大概需要17分钟跟随小博主,每天进步一丢丢转自:材料基(id: cailiaoji)来源:重庆理工大学期刊社。科研工作者每天日常莫过于看文献、做实…

云瓣影音网站微信端(已开源)

随着该项目的发布到线上(小打小闹),即将又要开启另一段崭新的旅程。强迫自己停下来写写所学所得,个人认为总结和分享是一种很棒的学习方式。那让我们先来瞧瞧项目长的什么样。如果着急要源码的朋友,可以下拉到最后~~ 微信端部分展现 从微信端…

[转载]针对IIS7以上的ASP.NET网站自定义错误页面与异常日志总结

针对IIS7以上的ASP.NET网站自定义错误页面与异常日志总结 汪宇杰2014-1-11 星期六 02:31455 Reads 1 Comments 自定义错误页面和异常记录是个很古老的话题了,但依旧可以让人爆到现在。在我做了无数次试验并总结经验和原则后,写下本文,已警后人…

怎样调整input框背景颜色_还在用百度搜索PPT背景图?7个高大上的图片网站,个个都是高清免费无版权!...

Hi,各位叨友们好呀!我是叨叨君~很多人在做PPT的时候都有这样的疑问,那些高大上的PPT背景图都是哪儿找的?花钱购买的吗?NO NO NO~花钱是不可能的,花时间找还差不多。今天给大家分享几个高逼格的PPT背景图免费…

【阅读理解】机器阅读理解方向有什么值得follow的大佬,网站等等?

点击上方,选择星标或置顶,每天给你送干货!阅读大概需要9分钟跟随小博主,每天进步一丢丢来自 | 知乎地址 | https://www.zhihu.com/question/358469127/answer/1028144909作者 | Scofield编辑 | 机器学习算法与自然语言处理公众号本…

对搜狐、网易和TOM三大门户网站的SQL注入漏洞检测

对搜狐、网易和TOM三大门户网站的SQL注入漏洞检测 本文节选自《大中型网络入侵要案直击与防御》一书 此外,笔者对搜狐及TOM和网易这三大门户网站作了注入攻击检测,发现同样存在明显的注入漏洞,安全性很糟糕。 1.MySQL注入检测搜狐门户网站 …

推荐130 个相见恨晚的神器网站

点击上方,选择星标或置顶,每天给你送干货!阅读大概需要7分钟跟随小博主,每天进步一丢丢来源:https://blog.csdn.net/qq_43901693/article/details/100606828搞学习知乎:www.zhihu.comTED(最优质…

Drupal是基于PHP语言编写的用于开发网站的开发型CMF

序 Drupal诞生于2000年,是一个基于PHP语言编写的用于开发网站的开发型CMF(内容管理框架)。Drupal强大的定制开发能力,也使其成为众多有技术实力的网站建设公司优先选用的网站开发平台。 任何网站建设公司自己开发的系统&#xf…

博文视点大讲堂41期-SEO难点之网站内部链接结构

博文视点大讲堂41期 SEO难点之网站内部链接结构 SEO是什么? 虽然这些年SEO概念普及了,但在很多人眼里,SEO和作弊、欺骗是一回事儿。这是对SEO的极大误解。 SEO是个强有力的工具,能以很合理的方式进行,既照顾到用户…

php解密 hr+c_PHP每15分钟自动更新网站地图(减少服务器消耗)

php中文网最新课程每日17点准时技术干货分享最近在弄一个短网址,自己写的代码。锻炼一下自己。在做html网站地图这块,想着把所有生成的短连接都展示出来,方便收录。就写了一个sitemap.php,后来发现,如果以后人流量大或…