You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

iperf3多并行流UDP测试无法启动及RDP卡顿问题的网络排查咨询

iperf3多并行流UDP测试无法启动及RDP卡顿问题的网络排查咨询

大家好,我现在遇到一个网络排查的问题,想请教下各位大佬。情况是这样的:有个客户用RDP连接我们的终端服务器时,经常出现RDP窗口冻结的情况(但鼠标点击大多还能生效),有时候最小化再最大化能缓解,但多数时候得断开重连。我想用iperf3测试TCP和UDP协议来定位问题根源,结果测出来的一些现象我有点搞不懂,想请大家帮忙分析下。

前期iperf3测试过程与结果

我先做了几组UDP单流测试:

  • 一开始跑了这个命令:iperf3 -c SERVER -u -b 100M -l 500 -t 60 -R --get-server-output --interval 1 --udp
    结果直接导致所有RDP会话冻结——后来才反应过来客户的ISP带宽只有40M,测试时跑满了,实际最大能到34-36M。
  • 调整带宽到35M后跑:iperf3 -c SERVER -u -b 35M -l 500 -t 60 -R --get-server-output --interval 1 --udp
    结果出现了33%的丢包率
  • 把包大小改成50字节再测:iperf3 -c SERVER -u -b 35M -l 50 -t 60 -R --get-server-output --interval 1 --udp
    这次只有测试刚开始丢了2个包,之后全程0丢包。

接下来尝试多并行流(-P 5)的UDP测试:

  • 命令:iperf3 -c SERVER -u -b 35M -l 500 -t 60 -P 5 -R --get-server-output --interval 1 --udp
    测试刚开始显示了连接成功和反向模式的提示,也输出了一两秒的统计(比如[ 4] 47.00-47.43 sec 3.25MBytes 27.8Mbits/sec 0.085ms 798/3774 (21%)),然后就完全卡住了,服务器和客户端都没反应,持续了一分钟。

我试着把所有参数降到最低,跑:iperf3 -c SERVER -u -b 1M -l 50 -t 60 -P 2 -R --get-server-output --interval 1 --udp
(带宽1M,包大小50字节,2个并行流)
结果还是只显示连接建立的提示,之后就没任何输出了,完全没跑起来。

更换本地交换机后的测试结果

我之前怀疑是客户本地网络的问题,就换了他们的本地交换机,结果测出来的结果更让我困惑:

  • iperf3 -c SERVER -u -b 35M -l 500 -t 60 -R --get-server-output --interval 1:丢包率18-20%,比之前略好一点
  • iperf3 -c SERVER -u -b 35M -l 2000 -t 60 -R --get-server-output --interval 1:丢包率只有0.x%,几乎没丢包
  • iperf3 -c SERVER -u -b 35M -l 5 -t 60 -R --get-server-output --interval 1:全程只提示收到乱序包,没有丢包统计

另外我之前没测TCP,因为之前改TCP连接情况更糟,但这次测了多并行流的TCP:
iperf3 -c [server IP] -b 35M -l 1M -P 5 -t 60 -R --get-server-output --interval 1
结果完全正常,多流跑起来没任何问题。

我的疑问与求助点

我对网络、RDP、UDP和iperf3的了解还不够深入,现在有几个点搞不懂:

  1. 为什么低带宽(1M)+小包(50字节)的2并行UDP流测试完全跑不起来,反而35M+500字节的单流能跑?按道理前者资源占用更低才对,我怀疑是不是客户的路由器/交换机处理不了多并行UDP流?
  2. 更换交换机后,UDP包大小越大丢包率越低,包太小反而只报乱序,这个现象怎么解读?
  3. 之前为了缓解RDP卡顿,我调低了RDP的带宽,但现在怀疑反而可能让问题更严重——有没有可能调低RDP带宽会导致UDP包变小、数量变多,反而触发了本地网络设备的瓶颈?
  4. 有没有人遇到过类似的iperf3多并行UDP流卡住的情况?是iperf3本身的问题,还是网络(ISP或本地设备)的问题?

我目前倾向于是客户本地网络设备(路由器/交换机)的性能瓶颈,但不确定,希望有经验的大佬能给点思路,要是需要更多信息我可以补充!

备注:内容来源于stack exchange,提问作者asdfmoin

火山引擎 最新活动