下午茶的时间到了,休息一下吧!

iperf3局域网测速

   

今天看到一篇文章关于家里内网速度的,便想起了自建speedtest服务进行内网测速。自建服务的话又需要php环境,虽然家里有几台Linux的小主机,但是不想太折腾,就在网上搜了下,有个叫iperf的工具,部署简单,服务端支持Windows、Linux、macOS等系统,客户端支持Windows、Linux、macOS、Android、iOS。

下面我分别记录下Windows和linux服务端的部署方式,以及Windows和手机客户端的使用方式。

一、服务端部署

1、Windows服务端

1.1.iperf3下载地址:https://iperf.fr/iperf-download.php

选择第一个最新版下载即可

1.2.解压并进入目录,在路径这里输入:cmd

1.3.运行iperf3服务端,在弹出的窗口输入:

iperf3.exe -s

回车,下方显示:Server listening on 5201即表明服务端运行成功了。

2、Linux服务端

2.1.Doceker容器

安装docker

#官方一键安装脚本(阿里云的源,不需要可以直接去掉“–mirror Aliyun”)
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

2.2.在docker部署iperf3服务端容器

#“--rm”参数:运行完毕就自动删除容器
docker run -it --rm --name=iperf3-server -p 5201:5201 networkstatic/iperf3 -s

同样的,下方显示:Server listening on 5201即表明服务端运行成功了。

2.2.软件仓库(以debian、ubuntu为例)
安装

apt-get install iperf3

运行

iperf3 -s

同样的,下方显示:Server listening on 5201即表明服务端运行成功了。

二、客户端使用

1、Windows客户端

1.1.iperf下载地址:https://iperf.fr/iperf-download.php

选择第一个最新版下载即可

1.2.解压并进入目录,在路径这里输入:cmd

1.3.运行iperf3客户端,在弹出的窗口输入:iperf3 -c {服务端IP}

进行10秒钟的测速,如下图,我测试的平均速率为945Mbits/s(也就是945Mbps),达到了千兆的速率

1.3.1.多条并行数据流一起测速:iperf3 -c {服务端IP} -P 2

这里的2表示2条并行数据流,如下图,两条数据列均分了千兆的速率,总速率还是符合千兆

1.3.2.反向模式运行(Server 端发送,Client 端接收):iperf3 -c {服务端IP} -R

1.3.3.更多的客户端参数说明如下:

Client 端参数
-c, --client ,以 Client 模式运行,并指定 Server 端的地址;
-u, --udp,以 UDP 协议进行测试;
-b, --bandwidth #[KMG][/#],限制测试带宽。UDP 默认为 1Mbit/秒,TCP 默认无限制;
-t, --time #,以时间为测试结束条件进行测试,默认为 10 秒;
-n, --bytes #[KMG],以数据传输大小为测试结束条件进行测试;
-k, --blockcount #[KMG],以传输数据包数量为测试结束条件进行测试;
-l, --len #[KMG],读写缓冲区的长度,TCP 默认为 128K,UDP 默认为 8K;
--cport ,指定 Client 端运行所使用的 TCP 或 UDP 端口,默认为临时端口;
-P, --parallel #,测试数据流并发数量;
-R, --reverse,反向模式运行(Server 端发送,Client 端接收);
-w, --window #[KMG],设置套接字缓冲区大小,TCP 模式下为窗口大小;
-C, --congestion ,设置 TCP 拥塞控制算法(仅支持 Linux 和 FreeBSD );
-M, --set-mss #,设置 TCP/SCTP 最大分段长度(MSS,MTU 减 40 字节);
-N, --no-delay,设置 TCP/SCTP no delay,屏蔽 Nagle 算法;
-4, --version4,仅使用 IPv4;
-6, --version6,仅使用 IPv6;
-S, --tos N,设置 IP 服务类型(TOS,Type Of Service);
-L, --flowlabel N,设置 IPv6 流标签(仅支持 Linux);
-Z, --zerocopy,使用 “zero copy”(零拷贝)方法发送数据;
-O, --omit N,忽略前 n 秒的测试;
-T, --title str,设置每行测试结果的前缀;
--get-server-output,从 Server 端获取测试结果;
--udp-counters-64bit,在 UDP 测试包中使用 64 位计数器(防止计数器溢出)。

2、手机客户端

iperf官方有推荐一部分移动端测速app:

我这里没有用上方清单的app,使用的是TP-Link的“网络百宝箱”app。在这里推荐一下这个app,功能挺丰富,使用起来很简单。

1.1.下载并安装app

苹果可以在商店直接下载安装,安卓的可以到TP官网下载(地址:https://resource.tp-link.com.cn/?&left=[0,14,null]&filterClass=[])

下面以安卓客户端为例,苹果的大同小异

2.1.打开app,点击左上角的“测网速”

2.2.进行测速

点击右边菜单的“局域网测速”,然后“服务器地址”填你部署的服务器IP,“测试时长”填10-30;

点击开始检测,然后等待一段时间即可完成测速;

由于无线存在干扰或阻隔,速度跑不满千兆是正常的。(但不知道为何下载速度跟上传不对等)

未经允许不得转载:Rising Sun's Blog » 随笔 » iperf3局域网测速
标签:
评论 0
 
 
发表评论