减少 DNS 查询—前端性能优化 9
雅虎前端优化总结的35 条前端性能优化军规第九条:减少 DNS 查询。用户输入 URL 以后,浏览器首先要查询域名(example.com)对应服务器的 IP 地址,这个操作一般需要耗费 20-120 毫秒时间。DNS 查询完成之前,浏览器无法从服务器下载任何数据。
基于性能考虑,ISP、局域网、操作系统、浏览器都会有相应的 DNS 缓存机制。
- IE 缓存 30 分钟,可以通过注册表中 DnsCacheTimeout 项设置;
- Firefox 缓存 1 分钟,通过 network.dnsCacheExpiration 配置;
- Chrome 缓存 1 分钟,通过 chrome://net-internals/#dns 配置。
另外需要注意的是这里有一个矛盾,减少不同的域名可减少 DNS 查找,同时也减少了页面下载资源文件的并发量。也就是说,虽然避免 DNS 查找削减了响应时间,但是减少并行下载数量却增加了响应时间。原则是把组件分散在 2~4 个域名下,控制好数量,这是同时减少 DNS 查找和允许并发下载的折中方案。
加微信交流