ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

电脑测速软件_iPerf3 搭建局域网内部测速环境

2021-08-12 09:32:01  阅读:288  来源: 互联网

标签:iPerf3 服务器端 iperf3 局域网 5201 iperf 测速 客户端


这篇文章主要来简单写写局域网里怎么测速,比如日常换了个新路由,想要测试一下无线性能和覆盖之类的情况。

外网测速这一块,市面上的各类软件已经是数不清了,最有名的应该就是 Ookla 出的 Speedtest 了,各种平台都有对应客户端,使用起来极其方便,结果输出简单直接。

但局域网这一块就相对来说麻烦一点了,尤其是服务器端的搭建,本文说说测速工具之一的iperf的配置。


实际对于有线连接,Windows 系统自带的 SMB 共享就是最简单的测速工具,也是最可靠的,能直接反应实际应用中的传输速度。找两台 pc,一台开共享,另一台直接拷贝个文件过去就能测出来有线传输的速度,一般来说内网千兆能实际跑到 980Mbps 左右,如下图:

6c1989d054f6d593a39e656a57074eb9.png

有群晖这类 NAS 的话,也是一样的,直接拷文件,看速度就行。

注意此方法仅限于收发双方都是有线连接的情况,如果是无线连接的情况,那要考虑各种损耗因素。


特别提示:安卓和 iOS 系统,不要和 windows 之间用 SMB 传文件来当做测速!

SMB 在非 windows 平台上有很大的效率问题,不同的 app 里能跑出来的速度都不一样,毫无参考性。比如说 nPlayer 这款很有名的播放器,不管是 iOS 还是安卓,我测试下来都只能最高跑到 60M/s 出头的速度,但 iperf 测试会发现实际带宽远不止这点。


当然了,有人可能会觉得这种测试方法太 low 了,想用高级一点的软件,这就是本文要说的内容了,主要来说一下 iperf3 这个软件的使用。

iperf 是一个有很多年历史的网络测试工具了,目前最新版本是 iperf3。

官网:https://iperf.fr/iperf-download.php

各种系统平台全都支持,包括几大主流的 Linux 发行版。

Linux 这边,一般情况下系统默认源里就会带有 iperf3,这里以 Debian 系统作为例子,要安装的话只需要一句:

apt install iperf3

然后 iperf3 就装好了,安装之后,可以任意选择要作为服务器端还是客户端,一般作为服务器端的话,则运行:

iperf3 -s

程序会自动监听默认的 5201 端口,防火墙注意也要放行此端口,这样服务器端就准备好了。

-s 表示运行在服务器模式下,还可以用-p 指定监听其他端口,-D 参数则可以后台运行。比如想自定义监听 8888 端口,并且后台运行,则命令如下:

iperf3 -s -p 8888 -D

iperf 实际还有很多可以额外指定的参数,这个具体自己参考网上资料,也不一个个解释了。

如果有 Docker 的,还能用 Docker 运行,只需要一句命令,即可自动拉取镜像并运行,傻瓜式完成服务器端搭建:

docker run --restart=unless-stopped --name=iperf3 -d -p 5201:5201/tcp -p 5201:5201/udp mlabbe/iperf3

Windows 系统这边的服务器搭建是一样的的办法,先去下载对应的版本,这年头一般也就是直接选 64 位最新版的 3.1.3 了。

5d6c16a014af58b5b123e08681827184.png

下载后解压,进入文件夹后会发现只有这俩文件:

248351a4e6ac670884a115bb0dd94496.png

不要点 exe 运行(实际点了也不会有任何效果),而是在程序文件所在的文件夹空白处,按住键盘的 shift 键,同时单击鼠标右键,选择在此处打开 PowerShell 窗口,也就是命令行窗口,要注意的是由于 PowerShell 的安全限制,命令前面要加上.,也就是变成:

.iperf3 -s

后面跟的附加参数之类都是一样的用法,不再赘述。不过个人感觉是 windows 主机作为服务端效率似乎不高,更推荐 linux 作为服务端。

搭完了服务端,最后就是用客户端来测速了,其实区别就是输的指令不同,客户端最简单的测速指令就是输入:

iperf3 -c 192.168.2.165

IP 地址换成自己服务器端的,PowerShell 里运行的话记得前面加.,然后就可以看到测速结果了,如下图:

86bc55d5dbb8ab458e398e1376174681.png

默认是客户端发送,服务器端接收。也可以反过来,让服务器端发送,客户端接收,那就是后面跟随-R 参数,注意 R 要大写:

iperf3 -c 192.168.2.165 -R

默认单线程压力可能会不够,可以加-P 参数指定多线程,注意是大写的 P,一般可以设定 5-10 线程:

iperf3 -c 192.168.2.165 -P 5

客户端默认只会显示发送的成绩,接收的成绩在服务器端那边显示,显然看起来不方便,于是还可以跟随--get-server-output参数,让客户端显示服务器端的信息:

iperf3 -c 192.168.2.165 --get-server-output

效果如下图,第二段的 Server output 部分就是服务器端的接收信息:

1c6495f327a6d6a470a48b4f9297b439.png


最后再来说一下无线速率测试,也就是移动端 app 的使用,支持 iperf 的 app 有很多,我个人一般使用的是 he.net - Network Tools 这一款软件,安卓和 IOS 平台都支持,官网为 http://networktools.he.net/。

实际这是一个测试网络的综合型工具,里头各种功能都有,iperf 只不过是其中一项。软件的用法也很简单,菜单列表里直接选择 iperf3。

秒表图表是设定数据汇报时间,也就是每隔 N 秒显示一次速率数据。

第二个芯片图标是设定测试数据包大小,单位可以是 K 或者 M,10G 数据包就可以直接填 10240M。

最后输入服务器端的 ip 即可进行测试:

aed329a3ea192c9c01ac11e3e0d28159.png


0bb1c1d2ad0eba08a3e3134e016faa23.png

特别要注意的是无线网络的速率是会有损耗的,不是握手显示多少速率就能跑多少。比如上图是两个手机不同的握手速率,分别为 433Mbps 和 1733Mbps,并不代表就能跑到这么高的速率。

实际能跑到的峰值速度一般是 WiFi 握手速率的 70% 左右,也就是手机单天线 433Mbps 实际能跑到 300Mbps 就算是到顶了,双天线 866Mbps 一般是 600Mbps 就封顶了。

最后还要说的是测速一概仅供参考,不要盲目迷信测速结果,认为测速成绩没跑满就是设备或路由有问题。

标签:iPerf3,服务器端,iperf3,局域网,5201,iperf,测速,客户端
来源: https://www.cnblogs.com/iangel/p/15131188.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有