V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
neteroster
V2EX  ›  问与答

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

  •  
  •   neteroster · Apr 6, 2020 · 9423 views
    This topic created in 2218 days ago, the information mentioned may be changed or developed.

    本地是中国(深圳)电信,对端是阿里云香港的轻量服务器( 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 replies    2020-04-06 17:07:58 +08:00
    neteroster
        1
    neteroster  
    OP
       Apr 6, 2020
    @Livid 发帖的系统似乎有点问题。我只点了一下,但是出来两个帖子。昨天看到的 t/659578 和 t/659570 似乎也有这个问题。
    Livid
        2
    Livid  
    MOD
    PRO
       Apr 6, 2020
    @neteroster 你看到的那个是有人故意重复发帖( Topic ID 有距离)。
    ZRS
        3
    ZRS  
       Apr 6, 2020 via iPhone
    电信对 UDP 有比较强的 Qos 策略
    alect
        4
    alect  
       Apr 6, 2020
    你不用轻量就没这个问题
    mason961125
        5
    mason961125  
       Apr 6, 2020 via iPhone
    轻量只是简单的对电信不友好而已。
    nealwx
        6
    nealwx  
       Apr 6, 2020 via Android
    轻量云啊,我联通晚高峰被 qos 严重,然后延时加倍
    zbttl
        7
    zbttl  
       Apr 6, 2020

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

    你那边是双向传输都这么慢,还是有一个方向明显更快呢?
    vk42
        9
    vk42  
       Apr 6, 2020
    qiang 对 VPN 流量定向 QoS ?
    Tink
        10
    Tink  
    PRO
       Apr 6, 2020 via iPhone
    udp 啊
    billytom
        11
    billytom  
       Apr 6, 2020 via iPhone
    蔷对 upd 下行有严重的 Qos,因为上行速率是正常的,换用 tcp 的方式吧
    lcdtyph
        12
    lcdtyph  
       Apr 6, 2020 via iPhone
    上下行的 cpu 使用率是什么样的
    neteroster
        13
    neteroster  
    OP
       Apr 6, 2020
    @lcdtyph 占用都在 2% 以内。

    现在这个点下行已经炸到只剩 200Kbps 了。
    lcdtyph
        14
    lcdtyph  
       Apr 6, 2020 via iPhone
    难道是针对 quic 流量有单独的 qos 规则么
    zbttl
        15
    zbttl  
       Apr 6, 2020 via Android
    @neteroster pc 端,无论是 tunsafe 还是 wireguard,上传速度下载速度都很慢( 4mbps )
    但在安卓端,上传速度正常( 25mpbs )了,下载依然慢
    不过我过 wireguard 测试用的 speedtest,没用 iperf3 测
    服务器 do 法兰克福
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   879 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 103ms · UTC 22:45 · PVG 06:45 · LAX 15:45 · JFK 18:45
    ♥ Do have faith in what you're doing.