问题标签 [iperf3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
3112 浏览

linux - Iperf 工具无法设置更大的套接字缓冲区

最近我尝试使用 Iperf3 来测试我们系统的吞吐量。我想将 tcp 的窗口大小设置为 2M,但失败了。

iperf3 -c 135.242.61.60 -w 2M

连接主机 135.242.61.60,端口 5201

iperf3:错误 - 套接字缓冲区大小设置不正确

我查看了iperf3的源码,发现iperf3会setsockopt参数为2M,然后getsockopt验证参数。getsockopt 返回的值小于 2M。我认为内核中可能存在一些限制。

如何将 tcp 窗口放大到 2M?

0 投票
1 回答
278 浏览

go - 使用 crypto/ssh 和 golang 运行 iperf3

目标

使用 Golang 的 crypto/ssh 在两个 VM 上运行 iperf3 来测量吞吐量。

手动过程

这是对有效的手动过程的描述。我正在尝试在 golang 中做同样的事情。

手动方法:从 jumpbox 连接到 VM1 并运行 iperfserver

在此处输入图像描述

您可以从上图中看到服务器正坐在那里监听。相同的命令会挂起 golang 代码,如下所述。

手动方法:从 jumpbox 连接到 VM2 并运行 iperfclient

所有这些都可以从命令行很好地工作。下面是使用 Golang 的解释,但代码挂起。

问题:golang代码挂起

golang 代码挂在下面一行。见功能:

代码挂起:

由于您在手动过程中看到的内容,这是意料之中的:

在此处输入图像描述

主要代码

怎么解决

我是否使用通道异步运行代码?解决此问题的最佳方法是什么?

任何指导表示赞赏。

0 投票
1 回答
10932 浏览

tcp - iperf3 - TCP 测量中 Retr 列的含义

很抱歉问这个话题,但是在阅读了工具的文档和我的问题的类似票(https://github.com/esnet/iperf/issues/343)之后,我仍然不太明白/不知道的含义TCP 测量中的 Retr 列,我不知道如何“使用”它:-(

假设有一个结果,如下所示,5 次重试。我知道了,这些是重传的 TCP 段数,但是这些重传是成功的,还是只是重试发送而不知道结果?

如果我想在最后看到某种百分比 (%) 的总和,该工具可以打印它吗,类似于 UDP 测量?如果没有,我怎样才能得到发送/接收段的总和来计算故障率?

工具版本:

操作系统:

日志:

感谢您的帮助,

/罗比

0 投票
0 回答
147 浏览

networking - iperf3 返回比最大理论带宽更高的带宽

请参阅iperf3下面的客户端生成的输出 JSON 文件,为什么我们在 10GbE 网络bits_per_second上运行时在第一个时间间隔得到 10002834326.213295?iperf3

此外,约定是转换bits_per_secondGbps除以 1000 而不是 1024,对吧?

请在下面找到详细信息。

  • iperf3 服务器的命令:
  • iperf3 客户端的命令:
  • 内核配置
0 投票
1 回答
765 浏览

iperf - iperf2 延迟是双向或单向延迟

iperf2(2.0.9 版)在其输出中报告延迟,如下所示。

是双向延迟还是单向延迟测量?


服务器在 UDP 端口 5001 上侦听 pid 5167 接收 1470 字节数据报 UDP 缓冲区大小:208 KB(默认)

[3] 本地 192.168.1.102 端口 5001 与 192.168.1.101 端口 59592 连接 [ID] 间隔传输带宽抖动丢失/总延迟 avg/min/max/stdev PPS [3] 0.00-1.00 sec 122 KBytes 1.00 Mbits/sec 0.063 ms 0/ 6254 (0%) 659.932/659.882/660.502/ 8.345 毫秒 6252 pps [ 3] 1.00-2.00 秒 122 KB 1.00 Mbits/秒 0.020 毫秒 0/ 6250 (0%) 660.080/659.919/60 毫秒 6.78 秒 [3] (3] 2.00-3.00 秒 122 KB 1.00 Mbits/秒 0.020 毫秒 0/ 6250 (0%) 660.113/659.955/660.672/ 0.047 毫秒 6250 pps [3] 3.00-4.00 秒 122 KB 220 毫秒/6250 秒 250. 0%) 660.153/659.994/660.693/ 0.047 ms 6250 pps [3] 4.00-5.00 sec 122 KB 1.00 Mbits/sec 0.021 ms 0/ 6250 (0%) 660.192/660.034/660.650 ms 0.049 pps

0 投票
1 回答
55 浏览

powershell - Powershell - 尝试 Catch - 非 Powershell 错误

是否可以创建一个捕获非 Powershell cmdlet 错误的 try-catch?

示例错误:

我想捕获该错误,然后尝试使用不同的服务器进行冗余。

谢谢你的帮助。

0 投票
1 回答
1897 浏览

tcp - 如何修改 Iperf TCP 连接超时?

我正在使用 mininet 来模拟网络。我的网络有 3000 毫秒的延迟(3 个交换机的线性拓扑)。当我尝试执行 iperf 时,我得到了 Connection failed : No route to host 客户端错误。在互联网的帮助下经过很多时间后,我才知道这是因为网络延迟很大,导致 ACK 数据包延迟。因此 SYN 的 ACK 数据包将在超时后客户端。所以我想修改这个超时值。我怎样才能做到这一点。我正在使用 iperf2 和 ubuntu18.04。(我认为使用 iperf3 可以通过 --connect-timeout nms 实现)

0 投票
1 回答
90 浏览

iperf - 如何在 iperf 命令发送的数据包中嵌入自定义标头?

我是iperf新手。我想在 iperf 工具发送的数据包中添加具有最少数据的自定义标头。甚至可能吗?如果是的话,有人可以启发我:)

0 投票
1 回答
368 浏览

c - Flutter (Dart) ffi - 应用程序在处理外部库方法期间冻结

我正在使用 C 库 iperf3 来测量网络。当我开始网络测试时,我的应用程序冻结并等待结果。我尝试了异步和线程,但没有任何进展。有什么建议吗?我想运行我的测试并异步调用另一个方法(充其量,再次调用这个库,但其他方法)。可能吗?

我的网络.dart

和iperf.c

0 投票
0 回答
35 浏览

bash - 如何让Linux中的tee逐行提供屏幕输出,而不是在执行结束时?

我在 Ubuntu 20 中使用 iperf3。

当不写入日志文件时,iperf3 可以使用 -i 1 选项每秒提供一个报告。使用 --logfile 选项将所有输出重定向到文件并禁止任何终端输出。

获得终端和文件输出的一种方法是使用 tee:

在这种情况下,iperf 运行 10 秒并且不向终端提供任何输出。当 10 秒的执行完成后,所有 10 行输出立即出现在终端上。

在每行输入后,如何将三通“刷新”到终端?

还是有不同的方法来实现这一点?