浏览器端性能提升之DNS Prefetch

发表于:2018-5-07 09:52

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:何海南    来源:51Testing软件测试网原创

  最近开始做网页性能测试相关的,想分享一些怎样提升性能以及怎样去做测试,希望对大家有用。
  什么是DNS?
  域名系统DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换成为IP地址,如下图所示。也就是说,当用户第一次访问某个网站的时候,会先去DNS查询这个网站的IP地址(后面继续访问的话会缓存)。
  什么是DNS 预读取?
  由下图会发现,有时候花在域名解析的时间会非常的长,在实际的测试过程中,我甚至见过3s的。DNS prefetch,是一种DNS 预解析技术,当浏览网页时,浏览器会在加载网页时对网页中的域名进行解析缓存,这样在单击当前网页中的连接时就无需进行DNS的解析,减少用户等待时间,提高用户体验。
  怎样实现?
  这个可能更多的是开发们需要考虑的,但QA的整个行业趋势是往QE的方向转,所以最基本的代码功底还是需要的。那么要怎样实现DNS prefetch呢?其实非常简单。首先要打开浏览器端对域名进行欲解析,目前主流浏览器都是支持这个功能的,如Chrome/Firefox。如果要控制浏览器端是否对域名进行预解析,可以通过Http header 的x-dns-prefetch-control 属性进行控制。
  <meta http-equiv="x-dns-prefetch-control" content="on" />
  如果要浏览器端对特定的域名进行解析,可以再页面中添加link标签实现。例如:
  <link rel="dns-prefetch" href="www.test.com" />
  测试
  对于测试人员来说,我是觉得当你知道了这之中的原理,才会更好地有针对性地去做一些测试。那么DNS prefetch会影响的是Page Load Time。当然,分析各个request的DNS 解析时间会更直接(可以用WebPageTest)。下图是我们的测试结果。从这个表中,我们能看出,用了Prefetch后,DNS解析时间有了显著的下降。
... ...
  查看更多精彩内容,请点击下载:

版权声明:本文出自《51测试天地》第四十九期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号