问题标签 [iperf]

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 回答
808 浏览

node.js - 如何在 Node.js 服务器上使用 iPerf 测量 ping?

我正在为我的 node.js/express 服务器编写一些代码,以允许它在自身和运行 iPerf 作为服务器的树莓派之间运行 QoS 测试。我child_process.execFile用来调用 iPerf 并获取它的输出。

我正在测试吞吐量、延迟、抖动和数据包丢失。iPerf 具有允许测试除延迟之外的所有选项的选项。这让我感到惊讶,好像它正在测量抖动,那么它必须知道延迟的值!我似乎找不到 iPerf 给我这个延迟结果的方法。

我是否必须编写自己的 ping 测试脚本?

0 投票
1 回答
1934 浏览

linux - 如何在 Windows 7 中设置最大 UDP 缓冲区大小

在 windows7 和 linux 之间运行 iperf 工具客户端/服务器。在 Linux UDP 缓冲区大小设置为最大值使用 cmd "sysctl -w net.core.rmem_max=8388608"(rmem/wmem) 并尝试成功推送 1Gb 的数据。如何在 Windows 机器中增加或设置最大 UDP 缓冲区大小?需要添加哪些注册表项/值?

0 投票
1 回答
719 浏览

android - 如何编写 IPERF Android 应用程序

我想创建一个“iperf 3”Android 应用程序。

我该怎么做?

我应该使用 NDK 吗?或者我应该为 ARM 设备编译它,然后通过 adb 移动它?

谢谢

0 投票
1 回答
2590 浏览

ubuntu-14.04 - 使用 iperf3 的 64 字节 PPS 吞吐量

我使用带有 ubuntu 14.04 的 PC 到 PC 测试了有和没有 64 字节的 PPS 吞吐量。使用命令如下

64字节的客户端

没有 64 字节的客户端

奇怪的是,没有 64 字节最大吞吐量值的 6 或 8 个流为 810Mbps,丢包率为 0%。当我添加 64 字节数据包时,6 个流的吞吐量非常低,8 个流的吞吐量丢失了 81%。请看附件我的测试结果。请随时建议我为什么会这样?我将非常感激知道原因。有和没有 64 字节会导致 6 和 8 个流的吞吐量值和数据包丢失

0 投票
2 回答
5146 浏览

android - 从 Android 7 执行 IPerf3 不起作用

我创建了一个允许执行一些 iperf 命令的 Android 应用程序。为此,我获得了 IPerf C 项目源代码的第 3 版,并使用这些命令对其进行交叉编译:

交叉编译后,我得到了一个二进制文件,我把它放在我的 android 项目的 assets 文件夹中。

为了使用来自 Android 的 IPerf,我以这种方式创建了二进制文件的副本:

然后,我使用 Runtime 对象执行 iperf 命令,如下所示:

除了在 Android 7.0 中,一切都可以正常工作。当我在 Android 7 的 Nexus 5X 上运行我的应用程序时,iperf 命令似乎没有被执行并且我的result变量是空的。

我检查了 Runtime.exec() 在 android 7 中工作正常,并且二进制文件正确复制到应用程序数据目录中。

每个人都知道我的过程中有什么问题吗?我编译 IPerf 项目的命令是否正确?

谢谢你的帮助。

编辑

我在以下线程中发现 Android 6.0 及更高版本可以执行使用 -fPIC 选项编译的二进制文件:

android ndk:-fPIC 和 -pie 是否互斥?

与位置无关的可执行文件和 Android Lollipop

所以我尝试使用以下命令行编译我的 C 项目:

./configure --host=arm-linux --prefix=/home/laboPC/Downloads CC=arm-linux-androideabi-gcc CXX=arm-linux-androideabi-g++ CFLAGS="-static -fPIC" CXXFLAGS="-静态"LDFLAGS="-pie -fuse-ld=bfd"

我认为我的命令行有问题,但我不知道是什么。有没有人可以帮助我确定我在命令行中的错误?

0 投票
0 回答
356 浏览

networking - 如何使 Windows 像 iperf -w

我有 2 个客户端,它们之间有长距离 10 Gbit 光纤连接。当我在客户端上运行 iperf3 -c xxxx -w 3m 时,我设法接近完整的 10 Gbit 吞吐量。

另一方面,当我只使用 iper3 -c xxxx (所以不指定窗口大小)时,我只能得到大约 1 Gbit。所以现在我想知道如何让我的客户默认使用 3m 窗口大小?

我使用的客户端是 windows server 2012 r2。我已启用自动缩放

服务器是 ubuntu 14.04。我使用 sysctl 设置以下参数:

0 投票
0 回答
148 浏览

python-2.7 - 在 Python 中一次运行多个 exe 并单独读取输出

我需要在 Python 中一次(并行)运行 iperf.exe 工具的多个实例。我正在使用 pyqt4 创建一个应用程序,该应用程序将通过单击运行多个 iperf.exe 实例,并且需要分别读回每个实例的输出。还需要等到所有 iperf 实例执行完成。

我试图理解:

  1. 处理这个问题的最佳方法是什么?子进程/qprocess/线程/多处理等
  2. 如何在上述场景中使用该方法?
0 投票
0 回答
672 浏览

linux - 绑定2个网络接口

我有一台 PC1 通过以太网连接到 PC2。PC2 还具有 WiFi 接口并连接到 WiFi 网络。PC3 也连接到同一个 WiFi 网络。

所以,它看起来像这样:PC1 <-----eth-----> PC2 <----wlan----> PC3

以太网和 WLAN 接口不使用相同的子网(以太网为 192.168.1.X,WLAN 为192.168.2.X 。现在我想使用 PC1 作为 iperf 服务器和 PC3 作为 iperf 客户端,PC2 只是一个桥梁。

假设 PC1 IP 地址为192.168.1.5,PC3 IP 地址为192.168.2.5

如果我做

(在 PC1 上):iperf -s –u –w 64k

(在 PC3 上):iperf -c 192.168.1.5 -b 75M –w 64k

显然,客户端(PC3)将无法找到服务器(PC1)。我的问题是如何在 PC2 上绑定接口 eth0 和 wlan0 使其表现得像 iperf 测试的桥梁?

0 投票
1 回答
458 浏览

linux - 需要一种解决方案来同步从 iPerf 和 GPS 接收的数据

最近,我正在研究 car-to-X 通信并使用两个车载单元 (OBU)。可以使用 gpsd、gpsd 客户端读取和监视两个模块上的 GPS 数据,并且我还可以使用 iPerf 测量网络性能。为此,一台设备充当服务器,另一台充当客户端。现在,我想将这两个设备与两台不同的笔记本电脑连接起来,测量网络性能以及读取 OBU 之外的 GPS 数据。此外,我需要在 GPS 数据和 iPerf 输出之间进行同步,以便我可以检测 TPV(时间、位置、速度)明智的吞吐量、延迟等。现在我需要将 GPS 和 iPerf 数据同步在一起,以便我可以将它们存储为日志-文件并稍后处理数据。有没有人可以帮助我知道如何做到这一点。我已经尝试过一种解决方案 - GPS 和 iperf 数据的时间戳,并存储到日志中。我有第二个解决方案,即使用 -f 选项将 GPS 数据作为 iperf 有效负载发送。我想尝试第二个,但不确定该怎么做。真正感谢任何人的帮助。

0 投票
1 回答
3330 浏览

iperf - 如何将时间戳每秒更新到 iPerf 命令的标准输出

我在两个终端之间执行 iperf 并能够得到如下输出:

现在的问题是时间戳一直保持不变。谁能建议我如何每秒更新时间戳?