标签: iperf

Android错误:IPerf :: tryGetService失败

我正在开发一个简单的Android应用程序.在我的应用程序中,我实现了一个工具栏和一个动作栏,ViewPager用于在片段之间进行滑动,我使用a RecyclerView来填充电影列表,一切都很顺利.

该应用程序不会崩溃,但Log Cat每次我滚动列表并在片段之间滑动时出现一个常量错误,我注意到我的应用程序运行缓慢,并有一个糟糕的用户体验.

在此输入图像描述

android android-viewpager iperf android-recyclerview

26
推荐指数
1
解决办法
4056
查看次数

安装iperf3 ubuntu 14.04

我希望能够很快找到答案.我目前正在尝试从iOS设备到我的ubuntu桌面和服务器测量RTT.但是,我发现iOS上的iperf版本是iperf3(这可能是我每次尝试执行简单测试时都会收到错误消息的原因).我能够从iOS设备ping到我的主机.

所以现在,我正在尝试将iperf3安装到我的Ubuntu 14.04桌面和服务器中(具有相同版本的概念将解决问题),但不断收到错误,即未安装iperf.

当我做apt-get iperf时,它会安装.但是当我去检查版本(iperf -vl)时,我得到版本2.0.5-3.

我得到的任何帮助非常感谢.

iperf ubuntu-14.04

13
推荐指数
3
解决办法
6万
查看次数

TCP接收窗口大小高于net.core.rmem_max

iperf在两台服务器之间运行测量,通过10Gbit链路连接.我试图将我观察到的最大窗口大小与系统配置参数相关联.

特别是,我观察到最大窗口大小为3 MiB.但是,我在系统文件中找不到相应的值.

通过运行sysctl -a我得到以下值:

net.ipv4.tcp_rmem = 4096        87380   6291456
net.core.rmem_max = 212992
Run Code Online (Sandbox Code Playgroud)

第一个值告诉我们最大接收器窗口大小为6 MiB.但是,TCP倾向于分配两倍的请求大小,因此最大接收器窗口大小应为3 MiB,正如我测量的那样.来自man tcp:

请注意,TCP实际上分配的次数是setsockopt(2)调用中请求的缓冲区大小的两倍,因此后续的getsockopt(2)调用将不会返回与setsockopt(2)调用中请求的缓冲区大小相同的缓冲区.TCP使用额外空间用于管理目的和内部内核结构,并且/ proc文件值反映了与实际TCP窗口相比更大的大小.

但是,第二个值net.core.rmem_max表示最大接收器窗口大小不能超过208 KiB.根据以下情况,这应该是硬限制man tcp:

tcp_rmem max:每个TCP套接字使用的接收缓冲区的最大大小.该值不会覆盖全局值net.core.rmem_max.这不用于限制在套接字上使用SO_RCVBUF声明的接收缓冲区的大小.

那么,为什么我会观察到最大窗口大小大于指定的窗口大小net.core.rmem_max

注意:我还计算了带宽 - 延迟产品:window_size = Bandwidth x RTT大约3 MiB(10 Gbps @ 2毫秒RTT),从而验证我的流量捕获.

linux performance tcp congestion-control iperf

8
推荐指数
2
解决办法
4682
查看次数

完成后如何停止iperf服务器?

客户端完成后,该过程将自动关闭。我想在服务器端执行相同的操作,因为我想使某些进程自动化,但是服务器端完成但仍保持打开状态。

unix kill process iperf

6
推荐指数
1
解决办法
1万
查看次数

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

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

2017-01-09 16:43:03: Connecting to host 192.168.234.2, port 5201
2017-01-09 16:43:03: [  4] local 192.168.234.1 port 36544 connected to 192.168.234.2 port 5201
2017-01-09 16:43:03: [ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
2017-01-09 16:43:03: [  4]   0.00-1.00   sec   553 KBytes  4.53 Mbits/sec    1   29.7 KBytes
2017-01-09 16:43:03: [  4]   1.00-2.00   sec   499 KBytes  4.09 Mbits/sec    1   26.9 KBytes
2017-01-09 16:43:03: [  4]   2.00-3.00   sec   515 KBytes  4.22 Mbits/sec    0   32.5 KBytes
2017-01-09 16:43:03: [  4]   3.00-4.00   sec   508 KBytes …
Run Code Online (Sandbox Code Playgroud)

iperf

4
推荐指数
1
解决办法
4407
查看次数

iperf TCP 比 UDP 快得多,为什么?

我想知道为什么 iperf 在 TCP 中表现出比 UDP 更好的性能。这个问题和这个问题非常相似。

UDP 应该比 TCP 快得多,因为没有确认和拥塞检测。我正在寻找解释。

UDP(807 兆比特/秒)

$ iperf -u -c 127.0.0.1 -b10G
------------------------------------------------------------
Client connecting to 127.0.0.1, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 127.0.0.1 port 52064 connected with 127.0.0.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   962 MBytes   807 Mbits/sec
[  3] Sent 686377 datagrams
[  3] Server Report:
[  3]  0.0-10.0 sec   960 MBytes   805 …
Run Code Online (Sandbox Code Playgroud)

udp tcp iperf

4
推荐指数
1
解决办法
8259
查看次数

使用Iperf进行haprxy的udp流量

我正在研究使用Docker Container进行Haproxy"性能评估"的个人项目.我正在用Python编程并使用iperf进行流量生成.

我创建了几个Docker容器作为客户端和服务器.客户端应该通过Haproxy容器将udp流量发送到服务器,Haproxy容器充当负载均衡器.

问题是当我尝试将udp流量从客户端发送到服务器时,Haproxy拒绝连接.我没有在官方文档中找到如何绑定或监听UDP端口.

提前感谢您的回复.

这是我的haproxy.cfg的副本.

global quiet nbproc 4 daemon listen tcp_haproxy 172.17.4.230:5001 balance roundrobin server server0 172.17.4.227:5001 server server1 172.17.4.228:5001 server server2 172.17.4.229:5001

python haproxy docker iperf

3
推荐指数
1
解决办法
1万
查看次数

iperf 错误:连接失败:没有到主机的路由

我在 2 个不同的 ubuntu 系统上安装了相同版本的 iperf (2.0.5)。但是当我iperf -s -p 45678在一个系统和iperf -c 172.18.41.17 -p 458 -t 10另一个系统上执行命令时。它给了我错误“连接失败:没有到主机的路由”。

任何帮助,将不胜感激。

编辑:一个系统作为服务器工作,但同一个系统不作为客户端工作。

iperf ubuntu-16.04

3
推荐指数
2
解决办法
2万
查看次数

以连续模式从 iperf 数据包生成器发送数据包

我们可以以连续模式从 iperf 生成器发送数据包吗?目前,我正在使用命令以突发模式发送数据包

iperf -c 10.0.0.2 -u -b 1m -t 1
Run Code Online (Sandbox Code Playgroud)

其中 u 是 UDP 数据包,1m 是带宽 (1 Mbps),t 是 1 秒的时间。

但我想以连续模式发送。

udp packet iperf

3
推荐指数
1
解决办法
2万
查看次数

iperf UDP over IPv6

我正在使用iperf(https://iperf.fr/)通过IPv6 进行一些UDP带宽测试.使用具有以下命令行的Linux UDP客户端时,我的结果非常糟糕:

iperf -u -V -c fe80::5910:d4ff:fe31:5b10%usb0 -b 100m
Run Code Online (Sandbox Code Playgroud)

调查Wireshark的问题我发现在客户端发送数据时存在一些碎片.更准确地说,我看到UDP客户端传出的数据包大小为1510字节和92字节,交替.例如,我看到的UDP数据包具有以下模式(大小):1510,92,1510,92,1510,92,...,1510,92,...

阅读iperf2文档我读了以下选项(-l):

要读取或写入的缓冲区的长度.iPerf通过多次写入len个字节数组来工作.TCP的默认值为8 KB,UDP的默认值为1470字节.注意UDP,这是数据报大小,当使用IPv6寻址到1450或更低时需要降低以避免碎片.另请参见-n和-t选项.

我尝试通过使用以下内容替换Linux iperf UDP客户端命令行来执行相同的带宽测试:

iperf -u -V -c fe80::5910:d4ff:fe31:5b10%usb0 -b 100m -l1450
Run Code Online (Sandbox Code Playgroud)

我看到了很好的结果.看看Wireshark捕获,我看不到任何碎片了.

在IPv4上进行相同的测试我不需要更改默认的UDP数据报大小(我不需要使用'-l'选项)来获得良好的结果.

所以我的结论是碎片(通过IPv6)导致带宽性能不佳.

无论如何,我想知道在IPv6上将UDP数据报大小设置为1450时会发生什么.为什么我在IPv6上存在碎片,而不是在UDP上使用UDP数据报大小的默认值?此外,为什么在将UDP数据报大小减小到1450时没有碎片?

谢谢.

linux udp bandwidth ipv6 iperf

1
推荐指数
1
解决办法
4848
查看次数