V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Jiceburger
V2EX  ›  宽带症候群

DNS 查询时间对上网体验的影响

  •  
  •   Jiceburger · 2022-10-20 01:13:30 +08:00 · 6501 次点击
    这是一个创建于 525 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我最近在考虑,DNS 解析用时对上网体验有多大影响呢?

    我现在用 nextdns 应该是会接去香港,测试了几次 DNS 解析都需要 40 ms 左右。虽然说我的上网体验还行,但是我还是比较好奇这个速度是否会导致网页卡顿。不知道大家有这方面经验吗?

    第 1 条附言  ·  2022-10-21 12:42:29 +08:00
    测试了几个 DNS ,涵盖了从几毫秒到几十毫秒的延迟。个人感觉是简单的网站都是秒开,但是复杂一点的网站 DNS 延时就有影响了(比如打开 YouTube )。根据大家的建议,我会给 DNS 做个分流,国内的去解析电信,国外的去找 NextDNS 或 dns.google

    感谢各位的讨论!
    34 条回复    2022-10-30 22:47:42 +08:00
    HoshinoRei
        1
    HoshinoRei  
       2022-10-20 01:23:53 +08:00
    建议还是越低越好,比如用你本地运营商给的 DNS 服务器打开一个国内网站,ping DNS 服务器的延迟在 10 ms 以内的,一般都能秒开。如果用这种延迟比较大的 DNS 服务器,要解析的域名比较多的时候一般会有肉眼可见的卡顿。
    cfanmark
        2
    cfanmark  
       2022-10-20 01:24:21 +08:00
    https://res.xyzone.net/imgs/2022/10/37fce87f8e09c1f1.jpg

    一般都有缓存的, 感觉不明显.
    Cheons
        3
    Cheons  
       2022-10-20 02:13:28 +08:00 via Android   ❤️ 1
    NextDNS 能过滤广告,但延迟很难受
    DNS 用你附近大学的就行,
    例如
    北京附近用清华,合肥周边用中科大
    docx
        4
    docx  
       2022-10-20 02:38:27 +08:00 via iPhone
    NextDNS 给中国大陆分配的是韩国节点,不会去香港的
    eason1874
        5
    eason1874  
       2022-10-20 06:48:45 +08:00
    不会,起码要 200ms 还是 300ms 以上才会感到卡顿
    datocp
        6
    datocp  
       2022-10-20 06:52:06 +08:00 via Android
    当然影响大,特别是直接使用外部 dns 网关无缓存实现。会出现掉包延迟问题,再加上 dns 地区指向不准更是近的不连连远的。

    这东西我从来不换,本来 socks5 就具备远程解析问题。墙的话该污染就污染。平时一个 dnsmasq 就足够使用。
    baobao1270
        7
    baobao1270  
       2022-10-20 07:21:51 +08:00
    Spectrum 500Mbps 的宽带,实测 DoT/DoH 的 TLS 开销还是很大的,主要体现在首次打开网站的等待时间上。
    huaes
        8
    huaes  
       2022-10-20 08:01:37 +08:00
    8.8.8.8 才 50ms ,0.05 秒,有什么可影响的,浏览器、系统卡顿的影响都比这大多了,我这垃圾电信还本地劫持 1.1.1.1
    Hurriance
        9
    Hurriance  
       2022-10-20 08:25:53 +08:00
    用的是 223.5.5.5 ,浏览器一般也都会缓存 dns 吧,所以最多是首次请求慢点或者是 dns 劫持的问题比较多
    optional
        10
    optional  
       2022-10-20 08:49:20 +08:00 via iPhone
    会,网页是不是秒开,差别很大
    yyysuo
        11
    yyysuo  
       2022-10-20 09:02:38 +08:00
    建议还是国内直接用运营商的 dns 或者 119.29.29.29/223.5.5.5 ,国外直接远程 dns 解析就好了。
    sombruh
        12
    sombruh  
       2022-10-20 09:26:16 +08:00   ❤️ 1
    1. 用 DNS Bench 分别在国内、国外机子选出最快 /可靠的几个 DNS
    https://www.grc.com/dns/benchmark.htm

    2. 做好 DNS 分流

    3. 国内用 AdguardHome 做过滤, 上游用 119.29.29.29/223.5.5.5/(联通当地 DNS)
    策略是最快的 IP 地址(所有返回 IP 结果 ping 一遍,最终选最快的)

    4. 国外机子远程搭个 AdguardHome (远程 Bench 一下 DNS ),
    上游用的是 8.8.8.8/1.1.1.1/208.67.222.222/运营商 DNS
    totopper312
        13
    totopper312  
       2022-10-20 09:42:29 +08:00
    DNS 很影响体验,尤其是 DOH
    garlics
        14
    garlics  
       2022-10-20 09:48:51 +08:00
    感觉用运营商 dns 会快很多,不知道是不是用其他 dns 解析到的 cdn 不是最优线路
    jakes
        15
    jakes  
       2022-10-20 09:49:27 +08:00
    直接使用国内的 DNS 就可以了,我直接配置的

    223.5.5.5, 2400:3200::1, 119.29.29.29, 8.8.8.8, 114.114.114.114

    国外的访问走科学通道远程解析。
    bainian18
        16
    bainian18  
       2022-10-20 09:51:21 +08:00 via iPhone
    @totopper312 请教 doh 是?
    XIU2
        17
    XIU2  
       2022-10-20 10:10:07 +08:00   ❤️ 3
    @bainian18
    DOH ( DNS over HTTPS )是加密 DNS ,因为需要多次握手,所以相比明文的 UDP 协议 DNS 延迟会明显增加。
    还有个类似的是 DOT ( DNS over TLS ),但是因为有专用端口 853 而容易被针对 /封锁。
    还有一种比较新的 DOQ ( DNS over QUIC ),现在支持的比较少,也是基于 UDP 协议的,兼顾加密与速度。
    pinkbook
        18
    pinkbook  
       2022-10-20 11:08:32 +08:00
    个人测试,使用 doh 和运营商默认访问普通网站基本感受不到区别,解析时间都在 30-60ms 左右。cdn 的话暂时没有明显感知。一般只有超过 100ms 才能有轻微感知,500ms 有较为明显的感知,100ms 内可以忽略的。反而网站自己的加载速度影响比较大
    vlgs
        19
    vlgs  
       2022-10-20 11:16:39 +08:00   ❤️ 1
    DNS 解析也要按照基本法。
    benjaminliangcom
        20
    benjaminliangcom  
       2022-10-20 11:22:32 +08:00 via iPhone
    @huaes 怎么判断 8.8.8.8 有没有被劫持
    yaott2020
        21
    yaott2020  
       2022-10-20 11:36:57 +08:00 via Android
    @benjaminliangcom ping traceroute 看看有没有出境路由
    huaes
        22
    huaes  
       2022-10-20 12:10:25 +08:00
    @benjaminliangcom 除了北上广深啥的,ping 值在 5ms 以内都是被劫持了,其他 DNS 同理
    XIU2
        23
    XIU2  
       2022-10-20 12:32:45 +08:00
    @benjaminliangcom
    在国内使用 UDP 协议的国外明文 DNS 是没有意义的,该污染污染,该劫持劫持,被干扰、封锁、延迟高、不稳定都是家常便饭,而且得到的解析结果不精细,甚至国内网站还可能解析到相应的国外 IP 。。。

    如果非要用明文 DNS ,那么就建议使用运营商的,连国内常见的公共 DNS 我都不推荐,我测试过,精细度都不如本地运营商的,比如 B 站的用运营商能解析到本市,而公共 DNS 的则解析到其他省了。

    要么就用加密 DNS ,不过缺点和前面一样,解析结果精细度不行,南辕北辙的很不爽。。。
    uncleroot
        24
    uncleroot  
       2022-10-20 17:27:13 +08:00
    用海外的 DNS 对网页访问的影响主要还是影响了 CDN ,会导致一些网站访问到境外 CDN 节点。
    相比之下解析延迟的影响算小的了。EDNS 也不完全可靠。

    如果是配合高速的梯子、配置好国内外分流那就另说了。

    国内的网站一般还是用运营商的 DNS 就行。
    Jiceburger
        25
    Jiceburger  
    OP
       2022-10-21 00:42:31 +08:00
    谢谢大家的回复。我家里的线路比较奇特,所有出国流量都会被公司的 VPN 一波带到香港,所以直接解析 NextDNS 或者 8.8.8.8 都是差不多但很稳健的 40ms 。试了一下公司 VPN 自备的 DNS ,解析要 15ms ,但打开网页体验差不多。。。根据大家的建议,我应该去做个 DNS 分流,国内的就跑去解析上海电信 DNS 好了。
    Jiceburger
        26
    Jiceburger  
    OP
       2022-10-21 00:44:22 +08:00
    @optional 个人体验是开 google 一类的网站都能秒开,但是 youtube 就要等了 -- 这玩意估计解析了不少东西。
    Jiceburger
        27
    Jiceburger  
    OP
       2022-10-21 00:49:49 +08:00   ❤️ 2
    @vlgs 西方的哪一个 DNS 我没解析过?所以说我们上网啊,还是要提高自己的知识水平。
    raycheung
        28
    raycheung  
       2022-10-21 09:38:38 +08:00
    可以了解一下 Mosdns ,然后在自己本地做一层,选合适的上游,既能分流免污染,又能增加缓存还有一些其他的操作
    465456
        29
    465456  
       2022-10-21 18:26:37 +08:00
    默认最快
    vocaloid
        30
    vocaloid  
       2022-10-21 18:47:36 +08:00
    影响还是挺大的,所以我现在都是直接默认运营商 dns
    bobryjosin
        31
    bobryjosin  
       2022-10-24 22:49:14 +08:00   ❤️ 1
    我的方案是 op 跑 passwall 上游交给 adg 解析顺便过滤广告只填国内的 dns ,国外域名 tcp 走 cf 的 1.1.1.1 过代理节点解析,速度也还行吧,这样用了好久了,国内网站大概 0.4s,国外 0.6s 算上 dns 返回时间加上走代理服务的开销
    fastcache
        32
    fastcache  
       2022-10-25 14:29:40 +08:00
    我用 family 过滤,例如 cf 的 1.1.1.3, 或者 opendns 的 208.67.222.123 ,感觉比普通 dns 响应慢很多
    wwbfred
        33
    wwbfred  
       2022-10-26 07:48:54 +08:00
    主要看你到 DNS 服务器的延迟。如果你到 DNS 服务器就几毫秒,那没有影响;要是移动网络或是翻墙,那就有很大影响。比如你到美西 150ms ,一次 DOH 查询就是 450ms ,这个能明显感受出来的。
    ikn0wzxc
        34
    ikn0wzxc  
       2022-10-30 22:47:42 +08:00 via iPhone
    @bobryjosin 我也是这样,但最近遇到 google 或者 cloudfare 的 dns 有时连不上的问题,这时候外网就挂了连不上。临时的方法是把国内外 dns 都填到 adg 里面,passwall 国内外 dns 都指向 adg 。顺便问一下,passwall 好像没法搞多个远程 dns 做仲裁?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5441 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 07:20 · PVG 15:20 · LAX 00:20 · JFK 03:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.