![Mac 上的网站加载时间很慢,可能是 DNS 问题?](https://linux22.com/image/1532858/Mac%20%E4%B8%8A%E7%9A%84%E7%BD%91%E7%AB%99%E5%8A%A0%E8%BD%BD%E6%97%B6%E9%97%B4%E5%BE%88%E6%85%A2%EF%BC%8C%E5%8F%AF%E8%83%BD%E6%98%AF%20DNS%20%E9%97%AE%E9%A2%98%EF%BC%9F.png)
我的网速大约为 79mbps,使用的是带 TouchBar 的 2016 款 MacBook Pro 13"。每当我访问网站时(Safari 和 Chrome 上),这两种浏览器似乎都会在加载网站之前暂停进度条一两秒钟。网站最初加载后,其中的交互非常快。例如,连接到 youtube.com 需要几秒钟,但一旦进入,我就可以立即加载和流式传输 1440p 视频。我可以尝试在 Mac 上进行哪些更改以尝试阻止它“等待”?
我感觉这与 DNS 解析有关,因为只有初始网站连接速度很慢。我检查了 Mac 上的 DNS 设置,结果如下:
显然,它唯一的 DNS 服务器位于本地网络上?似乎不对。
我正在使用 macOS Sierra 10.12.2,我的 ISP 是 Comcast
谢谢您的任何建议!
编辑:
我已将下面显示的单个 DNS 条目(我的路由器)替换为8.8.8.8
Google 的 DNS。这似乎已经解决了问题,但我将保留这个问题,看看是否有人有更好的想法,或者知道我是否做错了什么 :)
答案1
如果 192.168.86.1 是您的家庭网关路由器的 LAN IP 地址,那么它可能是可以接受的设置,但听起来要么是您的路由器的 DNS 中继过程运行缓慢,要么是您的路由器的 DNS 中继过程正在使用包含一个或多个速度不快或不可靠的服务器的上游 DNS 服务器列表。
可以尝试以下操作:
- 检查路由器正在使用的 DNS 服务器 IP 地址,并使用类似的工具对其进行测试
dig
;其中一个可能有问题。 - 考虑更改路由器的设置,以便它使用更快/更可靠的一组 DNS 服务器 IP 地址。
- 如果路由器在转发 DNS 请求时变慢,请考虑重启路由器。可能是因为存在内存泄漏,导致路由器速度随时间推移而变慢。
- 考虑更改路由器的设置,以便其 DHCP 服务向客户端提供快速/可靠的 DNS 服务器列表,这样如果路由器的 DNS 中继代理是增加延迟的来源,客户端就会绕过路由器的内置 DNS 中继。
- 考虑手动配置您的客户端以使用快速/可靠的 DNS 服务器列表。
背景:
家庭网关路由器在通过 DHCP 提供 NAT 私有 IP 地址租约时,通常会提供自己的 LAN 端 IP 地址作为 DNS 服务器地址,而不是提供 ISP 上游路由器提供给他们的任何 DNS 服务器地址。因此,假设 192.168.86.1 是您的家庭网关,那么该设置是合理的。
这样做是因为 DHCP 没有提供一种方法让 DHCP 服务器推在设置更改时,网关无法将新设置推送给 DHCP 客户端。因此,如果家庭网关与 ISP 的链接断开后又恢复,并且当它恢复时,如果 ISP 发送了一组不同的 DNS 服务器 IP 地址供客户端使用,网关将无法将该新设置推送给客户端。因此,网关会要求所有客户端将网关用作 DNS 服务器,这样它就可以始终将其 DNS 请求转发到 ISP 要求其使用的任何 DNS 服务器。这也意味着,如果您的 ISP 为您提供了糟糕的 DNS 服务器,您只需更改家庭网关设置为使用的上游 DNS 服务器即可解决整个家庭网络的问题。因此,您不必将所有客户端都设置为 8.8.8.8 或其他任何值。
这种方案的缺点是,您的家庭网关路由器可能成为所有 DNS 查找的瓶颈。因此,如果它性能不足或存在错误,并且作为 DNS 中继速度较慢,则会增加网络上任何设备的所有 DNS 查找的延迟。在这种情况下,最好让所有客户端直接与快速/可靠的 DNS 服务器通信。您可以为此手动配置客户端,也可以更改路由器内置 DHCP 服务器进程中的设置,使其在向客户端提供新的 DHCP 租约时提供更好的 DNS 服务器地址列表。