V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
测试工具
SmokePing
IPv6 访问测试
viberconnection
V2EX  ›  宽带症候群

求解一個 Wireguard 效能問題

  •  
  •   viberconnection · 219 天前 via Android · 2351 次点击
    这是一个创建于 219 天前的主题,其中的信息可能已经有所发展或是发生改变。
    問題背景:
    由於眾所周知的需求,再加上人在大陸,所以不久之前在新竹的家中搭建了 Wireguard 伺服器。它運行在 UDP443 埠口,電信業者為 Hinet 。


    現象敘述:
    速度非常慢。不管怎麼測試,只有 100K/s 左右。爬遍網上貼文發現可能是大陸這邊限速所致。
    可是,奇怪的一幕出現了,就當我試著下載 Google 雲端硬碟上的文件時,它竟然跑到了 22MB/s (遠端非一般家用計劃網路),很穩定,直到一個 10GB 的檔案下載完都沒有任何異常。
    隨後我嘗試在 YT 上觀看影片,把畫質開到 8K 也沒有問題。
    可問題是,其他情形下無論如何都是 100K/s ,只有 Google 系服務可以到達正常速度。


    想問的問題:
    究竟是什麼原因導致了上述速度問題呢?這似乎並不像是眾所周知的 ISP 限制所導致的。有什麼提升傳輸效能的好方式嗎?
    第 1 条附言  ·  219 天前
    問題已解決,詳情請參考本貼文網友的回覆。
    第 2 条附言  ·  219 天前
    這這這,這速度就很坐火箭一樣快。 ㄛㄛㄛ
    第 3 条附言  ·  219 天前
    最後觀察大陸側平均 MTU 數值后,把大小設定為 1300 成功解決速率過低的問題。
    這是從 100KB/s 到 6000KB/s 的飛躍。
    第 4 条附言  ·  189 天前
    做法總結:(實測可發揮最大效能)
    當兩方 MTU 默認數值為 1500 或者 1492 時,將兩端 wireguard 降至 1442 。
    當兩方 MTU 有任意一方等於或低於 1480 ,MTU 調低到 1300 。
    若需要應對複雜環境,降低到 1280 是最佳選擇。不過會犧牲速率。
    15 条回复    2021-11-28 12:59:21 +08:00
    hadoop
        1
    hadoop  
       219 天前
    dns 选对了吗
    viberconnection
        2
    viberconnection  
    OP
       219 天前 via Android
    @hadoop 是正確的,我在遠端主機搭建了 Cache ,以及上游就是 Hinet 自家 DNS 。
    wd
        3
    wd  
       219 天前 via iPhone
    你通过 wg 下载的时候,需要的是你台湾家中的宽带的上传带宽,不知道你家有多少带宽?
    tavimori
        4
    tavimori  
       219 天前
    猜测是 Google 端的 TCP 流控算法更加高级(或者其实就没有采用 TCP ,而用了类似 QUIC 的协议?)

    是不是可以用 UDP 测一下 VPN 服务器到本地的理论下行速率?
    2i2Re2PLMaDnghL
        5
    2i2Re2PLMaDnghL  
       219 天前
    这个过程中泄漏给外部的信息只有远端的流量。

    猜想有没有可能是有针对 Google 的优化,使得访问 Google 服务时临时开通上传限速?
    供参考: /t/523956 /t/592583
    viberconnection
        6
    viberconnection  
    OP
       219 天前 via Android
    @wd 上行速率和下行速率均為 500Mbps ,當然在這方面我個人需求不是很高,能有 1MB/s (約為 9Mbps)就很不錯。
    個人所遇到的問題是,其他情形下,上下速率平日均只能達到 100-至多數百 KB/s ,但是使用 Google 系列網站卻能快到非常理想。所以個人就想找到問題出在哪裡。
    由於本人從事的工作是室內設計,且非資訊工程學或者電腦科學方面畢業,在爬貼文無果的情形下,就只好求助他人了。
    dndx
        7
    dndx  
       219 天前 via iPhone   ❤️ 5
    这种情况几乎 >95% 是 MTU 没设对导致的分片性能损失,Google 因为内部用了 IP-IP tunneling 默认用了比较小的 MTU 所以没问题。可以用 ping 命令测试链接支持的最大 MTU ,Google 上有很多教程。
    wolfworks
        8
    wolfworks  
       219 天前   ❤️ 1
    猜测一下会不会是 MTU 的问题
    google 系默认支持 QUIC 协议 这个协议目前规定在 IPv4 网络上单个包大小是 1350 字节
    但是其他用 TCP 服务的 如果接口 MTU 过大 会导致连接建立时候的 MSS 也过大 传输数据的时候不可避免的产生分片

    适当调小点两端的 MTU 试试?
    viberconnection
        9
    viberconnection  
    OP
       219 天前 via Android
    @tavimori
    @dndx

    太感謝上面二位仁兄了,經過提醒以及大陸段多點測試,把伺服器和用戶端的 MTU 均降低到 1250 成功解決速率過低的問題。
    viberconnection
        10
    viberconnection  
    OP
       219 天前 via Android
    @wolfworks 感謝提醒,我把這點忘記了。已解決此問題。
    Damn
        11
    Damn  
       219 天前
    v2000000001ex
        12
    v2000000001ex  
       219 天前
    某些 vps ,wg 的速度能到 100M/s ,但不是一直 100 ,有 qos ,只是突发速度很快。
    xxb
        13
    xxb  
       219 天前 via iPhone
    Tailscale 會有這個問題不
    viberconnection
        14
    viberconnection  
    OP
       219 天前 via Android
    @xxb 說的沒錯,也有用。
    cwbsw
        15
    cwbsw  
       219 天前
    @wolfworks Google 现在 QUIC 降到 1250 了,Cloudflare 开 http3 更是只有 1200 。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4586 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 06:17 · PVG 14:17 · LAX 23:17 · JFK 02:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.