-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
UDP relay 传输性能随着发送速率增加极速下降 #877
UDP relay 传输性能随着发送速率增加极速下降 #877
Conversation
Here are some benchmarks: shadowsocks/shadowsocks-org#194 (comment) |
我判断是tokio任务调度的问题,在上行的udp转发任务特别多的情况下,任务调度分布不均匀。
|
@wangjian1009 Please try again by shrinking the number of UDP recv tasks to half of the CPU cores. |
在单机环境上现象更明显,以下测试 设备: MacBookPro
|
How can you use Why it doesn't match the result of our previous test: shadowsocks/shadowsocks-org#194 (comment) |
是我错了,使用iperf3测试的场景下,使用的是tunnel接口
|
iperf3 直接进行udp测试都无法达到文档中的能力 关于这个表现,我常识增加并行的流进行测试,结果在下表,得出的结论是
|
I also cannot reproduce your results. Platform: Linux 5.18.6 ssserver config: {
"server": "::",
"server_port": 30000,
"method": "2022-blake3-aes-256-gcm",
"password": "rGoUo0rmtp+p2rQQRSbkPkXzm5kQsEHaHJjiXDbYMG0=",
"mode": "tcp_and_udp",
"no_delay": true,
"ipv6_first": true,
"fast_open": true
} sslocal config: {
"locals": [
{
"local_address": "::",
"local_port": 30001,
"protocol": "tunnel",
"forward_address": "::1",
"forward_port": 5201
}
],
"servers": [
{
"name": "localhost-test",
"address": "::1",
"port": 30000,
"password": "rGoUo0rmtp+p2rQQRSbkPkXzm5kQsEHaHJjiXDbYMG0=",
"method": "2022-blake3-aes-256-gcm"
}
],
"mode": "tcp_and_udp",
"no_delay": true,
"ipv6_first": true,
"fast_open": true
} Downlink test result:
Uplink test result:
Assuming the MTU is 1500, download speed can reach 932Mbps, upload speed is 766Mbps. |
Connecting to host 127.0.0.1, port 9700 [ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams |
Something's wrong with your test environment. What's your iperf3 version? ❯ iperf3 --version
iperf 3.11 (cJSON 1.7.13)
Linux localhost.localdomain 5.18.6-1-default #1 SMP PREEMPT_DYNAMIC Thu Jun 23 05:46:18 UTC 2022 (5aa0763) x86_64
Optional features available: CPU affinity setting, IPv6 flow label, TCP congestion algorithm setting, sendfile / zerocopy, socket pacing, bind to device, support IPv4 don't fragment |
iperf 3.11 (cJSON 1.7.13) |
Maybe ss-rust build configuration error, what`s you build script? |
I have the environment variable |
Just came across this article today: https://tokio.rs/blog/2020-04-preemption Automatic cooperative task yielding was added in tokio-rs/tokio#2160 and released in v0.2.14. @wangjian1009 Can you still reproduce this issue? If so, I think it's likely to be a bug in the tokio runtime on your specific platform (macOS ARM64). |
测试环境: 两台笔记本,连接在同一个wifi下
iperf3 -s
以及ss-server
运行在一台电脑iperf3 -s
以及ss-local
运行在一台电脑上测试命令:
iperf3 -c 127.0.0.1 -p 9700 -b 100M -u -l 1260
随着 -b 参数的改变,传输速率极速下降
iperf3直连(不走代理)
ss-rust
ss-libev