问题标签 [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.
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?
go - 使用 crypto/ssh 和 golang 运行 iperf3
目标
使用 Golang 的 crypto/ssh 在两个 VM 上运行 iperf3 来测量吞吐量。
手动过程
这是对有效的手动过程的描述。我正在尝试在 golang 中做同样的事情。
手动方法:从 jumpbox 连接到 VM1 并运行 iperfserver
您可以从上图中看到服务器正坐在那里监听。相同的命令会挂起 golang 代码,如下所述。
手动方法:从 jumpbox 连接到 VM2 并运行 iperfclient
所有这些都可以从命令行很好地工作。下面是使用 Golang 的解释,但代码挂起。
问题:golang代码挂起
golang 代码挂在下面一行。见功能:
代码挂起:
由于您在手动过程中看到的内容,这是意料之中的:
主要代码
怎么解决
我是否使用通道异步运行代码?解决此问题的最佳方法是什么?
任何指导表示赞赏。
tcp - iperf3 - TCP 测量中 Retr 列的含义
很抱歉问这个话题,但是在阅读了工具的文档和我的问题的类似票(https://github.com/esnet/iperf/issues/343)之后,我仍然不太明白/不知道的含义TCP 测量中的 Retr 列,我不知道如何“使用”它:-(
假设有一个结果,如下所示,5 次重试。我知道了,这些是重传的 TCP 段数,但是这些重传是成功的,还是只是重试发送而不知道结果?
如果我想在最后看到某种百分比 (%) 的总和,该工具可以打印它吗,类似于 UDP 测量?如果没有,我怎样才能得到发送/接收段的总和来计算故障率?
工具版本:
操作系统:
日志:
感谢您的帮助,
/罗比
networking - iperf3 返回比最大理论带宽更高的带宽
请参阅iperf3
下面的客户端生成的输出 JSON 文件,为什么我们在 10GbE 网络bits_per_second
上运行时在第一个时间间隔得到 10002834326.213295?iperf3
此外,约定是转换bits_per_second
为Gbps
除以 1000 而不是 1024,对吧?
请在下面找到详细信息。
- iperf3 服务器的命令:
- iperf3 客户端的命令:
- 内核配置
- output.json:见https://pastebin.com/dCK3ifLb
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
powershell - Powershell - 尝试 Catch - 非 Powershell 错误
是否可以创建一个捕获非 Powershell cmdlet 错误的 try-catch?
示例错误:
我想捕获该错误,然后尝试使用不同的服务器进行冗余。
谢谢你的帮助。
tcp - 如何修改 Iperf TCP 连接超时?
我正在使用 mininet 来模拟网络。我的网络有 3000 毫秒的延迟(3 个交换机的线性拓扑)。当我尝试执行 iperf 时,我得到了 Connection failed : No route to host 客户端错误。在互联网的帮助下经过很多时间后,我才知道这是因为网络延迟很大,导致 ACK 数据包延迟。因此 SYN 的 ACK 数据包将在超时后客户端。所以我想修改这个超时值。我怎样才能做到这一点。我正在使用 iperf2 和 ubuntu18.04。(我认为使用 iperf3 可以通过 --connect-timeout nms 实现)
iperf - 如何在 iperf 命令发送的数据包中嵌入自定义标头?
我是iperf新手。我想在 iperf 工具发送的数据包中添加具有最少数据的自定义标头。甚至可能吗?如果是的话,有人可以启发我:)
c - Flutter (Dart) ffi - 应用程序在处理外部库方法期间冻结
我正在使用 C 库 iperf3 来测量网络。当我开始网络测试时,我的应用程序冻结并等待结果。我尝试了异步和线程,但没有任何进展。有什么建议吗?我想运行我的测试并异步调用另一个方法(充其量,再次调用这个库,但其他方法)。可能吗?
我的网络.dart
和iperf.c
bash - 如何让Linux中的tee逐行提供屏幕输出,而不是在执行结束时?
我在 Ubuntu 20 中使用 iperf3。
当不写入日志文件时,iperf3 可以使用 -i 1 选项每秒提供一个报告。使用 --logfile 选项将所有输出重定向到文件并禁止任何终端输出。
获得终端和文件输出的一种方法是使用 tee:
在这种情况下,iperf 运行 10 秒并且不向终端提供任何输出。当 10 秒的执行完成后,所有 10 行输出立即出现在终端上。
在每行输入后,如何将三通“刷新”到终端?
还是有不同的方法来实现这一点?