V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
neteroster
V2EX  ›  问与答

WireGuard 速度慢的可能原因有什么?

  •  
  •   neteroster · 2020-04-06 10:21:54 +08:00 · 7678 次点击
    这是一个创建于 1480 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本地是中国(深圳)电信,对端是阿里云香港的轻量服务器( 30M )。

    建了一个 WireGuard,iPerf3 测速(下行):

    $ iperf3 -c 10.200.200.1 -R
    Connecting to host 10.200.200.1, port 5201
    Reverse mode, remote host 10.200.200.1 is sending
    [  4] local 10.200.200.2 port 6872 connected to 10.200.200.1 port 5201
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-1.00   sec  1006 KBytes  8.24 Mbits/sec
    [  4]   1.00-2.00   sec   472 KBytes  3.86 Mbits/sec
    [  4]   2.00-3.00   sec   437 KBytes  3.58 Mbits/sec
    [  4]   3.00-4.00   sec   450 KBytes  3.69 Mbits/sec
    [  4]   4.00-5.00   sec   343 KBytes  2.81 Mbits/sec
    [  4]   5.00-6.00   sec   522 KBytes  4.28 Mbits/sec
    [  4]   6.00-7.00   sec   586 KBytes  4.81 Mbits/sec
    [  4]   7.00-8.00   sec   501 KBytes  4.10 Mbits/sec
    [  4]   8.00-9.00   sec   317 KBytes  2.59 Mbits/sec
    [  4]   9.00-10.00  sec   387 KBytes  3.18 Mbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth       Retr
    [  4]   0.00-10.00  sec  5.12 MBytes  4.30 Mbits/sec  220             sender
    [  4]   0.00-10.00  sec  5.03 MBytes  4.22 Mbits/sec                  receiver
    

    作为对比,QUIC (同样也是 UDP ):

    $ iperf3 -c 127.0.0.1 -p 1080 -R
    Connecting to host 127.0.0.1, port 1080
    Reverse mode, remote host 127.0.0.1 is sending
    [  4] local 127.0.0.1 port 7608 connected to 127.0.0.1 port 1080
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-1.00   sec  7.51 MBytes  62.9 Mbits/sec
    [  4]   1.00-2.00   sec  3.76 MBytes  31.6 Mbits/sec
    [  4]   2.00-3.00   sec  3.80 MBytes  31.9 Mbits/sec
    [  4]   3.00-4.00   sec  3.83 MBytes  32.2 Mbits/sec
    [  4]   4.00-5.00   sec  3.80 MBytes  31.9 Mbits/sec
    [  4]   5.00-6.00   sec  3.80 MBytes  31.9 Mbits/sec
    [  4]   6.00-7.00   sec  3.79 MBytes  31.8 Mbits/sec
    [  4]   7.00-8.00   sec  3.79 MBytes  31.8 Mbits/sec
    [  4]   8.00-9.00   sec  3.80 MBytes  31.9 Mbits/sec
    [  4]   9.00-10.00  sec  3.81 MBytes  31.9 Mbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth       Retr
    [  4]   0.00-10.00  sec  51.2 MBytes  43.0 Mbits/sec    0             sender
    [  4]   0.00-10.00  sec  41.8 MBytes  35.1 Mbits/sec                  receiver
    
    iperf Done.
    

    TLS:

    $ iperf3 -c 127.0.0.1 -p 1080 -R
    Connecting to host 127.0.0.1, port 1080
    Reverse mode, remote host 127.0.0.1 is sending
    [  4] local 127.0.0.1 port 7608 connected to 127.0.0.1 port 1080
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-1.00   sec  7.51 MBytes  62.9 Mbits/sec
    [  4]   1.00-2.00   sec  3.76 MBytes  31.6 Mbits/sec
    [  4]   2.00-3.00   sec  3.80 MBytes  31.9 Mbits/sec
    [  4]   3.00-4.00   sec  3.83 MBytes  32.2 Mbits/sec
    [  4]   4.00-5.00   sec  3.80 MBytes  31.9 Mbits/sec
    [  4]   5.00-6.00   sec  3.80 MBytes  31.9 Mbits/sec
    [  4]   6.00-7.00   sec  3.79 MBytes  31.8 Mbits/sec
    [  4]   7.00-8.00   sec  3.79 MBytes  31.8 Mbits/sec
    [  4]   8.00-9.00   sec  3.80 MBytes  31.9 Mbits/sec
    [  4]   9.00-10.00  sec  3.81 MBytes  31.9 Mbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth       Retr
    [  4]   0.00-10.00  sec  51.2 MBytes  43.0 Mbits/sec    0             sender
    [  4]   0.00-10.00  sec  41.8 MBytes  35.1 Mbits/sec                  receiver
    
    iperf Done.
    

    其中 TLS 和 QUIC 是用 gost 建立隧道的。

    请问大家可能的原因有什么呢?

    另外一个信息是:WireGuard 测试本地到服务器的上传没有问题(能跑满 30Mbps )。

    15 条回复    2020-04-06 17:07:58 +08:00
    neteroster
        1
    neteroster  
    OP
       2020-04-06 10:23:35 +08:00
    @Livid 发帖的系统似乎有点问题。我只点了一下,但是出来两个帖子。昨天看到的 t/659578 和 t/659570 似乎也有这个问题。
    Livid
        2
    Livid  
    MOD
       2020-04-06 10:38:53 +08:00
    @neteroster 你看到的那个是有人故意重复发帖( Topic ID 有距离)。
    ZRS
        3
    ZRS  
       2020-04-06 11:17:41 +08:00 via iPhone
    电信对 UDP 有比较强的 Qos 策略
    alect
        4
    alect  
       2020-04-06 11:21:04 +08:00
    你不用轻量就没这个问题
    mason961125
        5
    mason961125  
       2020-04-06 11:39:47 +08:00 via iPhone
    轻量只是简单的对电信不友好而已。
    nealwx
        6
    nealwx  
       2020-04-06 13:00:16 +08:00 via Android
    轻量云啊,我联通晚高峰被 qos 严重,然后延时加倍
    zbttl
        7
    zbttl  
       2020-04-06 13:46:59 +08:00

    我猜不是 udp 的问题,我这边也是,无论是 ss 的 udp 还是裸 udp 测速还是 kcptun 都不会碰到限速
    但 wireguard 也是慢,套 udp2raw 也没用
    而且同样是走 udp 的 openvpn 更慢。。。
    neteroster
        8
    neteroster  
    OP
       2020-04-06 14:12:55 +08:00
    @zbttl 没错。我在 DigitalOcean 新加坡和美国两个数据中心用 WireGuard (~40Mbps),也只有 QUIC (~100Mbps) 的一半,且远远不及 TCP (150Mbps+)。

    你那边是双向传输都这么慢,还是有一个方向明显更快呢?
    vk42
        9
    vk42  
       2020-04-06 14:34:36 +08:00
    qiang 对 VPN 流量定向 QoS ?
    Tink
        10
    Tink  
       2020-04-06 14:36:01 +08:00 via iPhone
    udp 啊
    billytom
        11
    billytom  
       2020-04-06 15:18:24 +08:00 via iPhone
    蔷对 upd 下行有严重的 Qos,因为上行速率是正常的,换用 tcp 的方式吧
    lcdtyph
        12
    lcdtyph  
       2020-04-06 15:43:40 +08:00 via iPhone
    上下行的 cpu 使用率是什么样的
    neteroster
        13
    neteroster  
    OP
       2020-04-06 15:59:30 +08:00
    @lcdtyph 占用都在 2% 以内。

    现在这个点下行已经炸到只剩 200Kbps 了。
    lcdtyph
        14
    lcdtyph  
       2020-04-06 16:15:36 +08:00 via iPhone
    难道是针对 quic 流量有单独的 qos 规则么
    zbttl
        15
    zbttl  
       2020-04-06 17:07:58 +08:00 via Android
    @neteroster pc 端,无论是 tunsafe 还是 wireguard,上传速度下载速度都很慢( 4mbps )
    但在安卓端,上传速度正常( 25mpbs )了,下载依然慢
    不过我过 wireguard 测试用的 speedtest,没用 iperf3 测
    服务器 do 法兰克福
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4012 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 10:18 · PVG 18:18 · LAX 03:18 · JFK 06:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.