iperf3网络测速

随笔2个月前发布 实验室咨询
8 0 0

公网测速-speedtest-cli

Centos7示例:

# 安装speedtest-cli
pip3 install speedtest-cli

# 查看是否可执行
which speedtest-cli

#创建软链接--如果找不到speedtest-cli命令时执行.
ln -s /usr/local/bin/speedtest-cli /usr/local/sbin/speedtest-cli

# 更新所有的测速点
speedtest-cli --list

# 测速
speedtest-cli --share

iperf3网络测速

# 查看所有测速点
speedtest-cli --list

iperf3网络测速

# 指定测速点
speedtest-cli --server=29071 --share

iperf3网络测速


iperf3测速服务器搭建

系统版本声明:Centos8
本文也适用于Centos7

安装iperf3

# Ubuntu安装iperf3
sudo apt install iperf3 -y

# Centos安装
yum install iperf3 -y

# 检查iperf3是否安装成功
which iperf3

启动服务端

iperf3的默认端口5201
-s 以服务器模式启动
-D 以守护进程模式运行
-p 定义端口号;
-i 设置每次报告之间的时间间隔,单位为秒,如果设置为非零值,就会按照此时间间隔输出测试报告,默认为0

# 启动iperf3服务端
## -s 以服务器模式启动
iperf3 -s

# iperf3 –s –u  # 3.1.7版本已经不需要-u参数,-s默认启动的tcp和udp
## -D 以守护进程模式运行
iperf3 -s -D

#服务端使用自定义端口
## -s 以服务器模式启动
## -p    定义端口号;
## -D 以守护进程模式运行
iperf3 –s –p 55 -D

iperf3客户端测速

https://www.nixops.me/articles/iperf-check-bandwidth.html

参数 解释
-c 指定服务器地址
-p 表示服务器的端口号;
-u 使用udp协议;
-b 指定客户端通过UDP协议发送信息的带宽,默认值为1Mbit/s
-n 指定传输的字节数
-t 指定Iperf测试时间,默认10秒
-i 设置每次报告之间的时间间隔,单位为秒,如果设置为非零值,就会按照此时间间隔输出测试报告,默认值为零;
-F 传输或接收特定的文件
-P 客户端到服务器的连接数,默认值为1
-T 指定ttl值
-w 设置套接字缓冲区为指定大小,对于TCP方式,此设置为TCP窗口大小,对于UDP方式,此设置为接受UDP数据包的缓冲区大小,限制可以接受数据包的最大值.
–logfile 参数可以将输出的测试结果储存至文件中.
-J 来输出JSON格式测试结果.
-R 反向传输(测试下载速度)

上传测速

# 默认是测试的上传速度
## -c    表示服务器的IP地址;
iperf3 -c 测速服务器IP

# (-P)多线程
## -P 线程数
iperf3 -c 47.108.52.5 -t 60 -P 2 

#客户端UDP测速(上传) 
#UDP测速默认只有1M,需要准确测速需要加-b参数指定最大带宽
## -c  表示服务器的IP地址;
## -u  使用udp协议;
## -b  指定客户端通过UDP协议发送信息的带宽,默认值为1Mbit/s
## -t  持续时间60s
iperf3 –c 171.220.227.80 -u -b 1000M -t 60

下载测速

# 测试下载测速
## -R 下载
iperf3 -c 47.108.52.5 -R

#客户端UDP测速(下载-R)
## -u  使用udp协议;
## -b  指定客户端通过UDP协议发送信息的带宽,默认值为1Mbit/s
## -R 下载
iperf3 -c 47.108.52.5 -u -b 1000M -R

# 客户端持续60s(下载-R)
## -u  使用udp协议;
## -p  指定端口
## -b  指定客户端通过UDP协议发送信息的带宽,默认值为1Mbit/s
## -R 下载
iperf3 -c 47.108.52.5 -u –p 55 -b 1000M –t 60 -R

# (-P)多线程下载
## -u  使用udp协议;
## -b  指定客户端通过UDP协议发送信息的带宽,默认值为1Mbit/s
## -t  持续事件
## -P  线程数
## -R 下载
iperf3 -c 47.108.52.5 -u -b 100M -t 60 -P 2 -R

Windows下iperf3测速不准原因

中断合并(interrupt coalescence) 也叫中断调整 (interrupt Moderation)
需要服务器和客户端网卡都开启中断调整(interrupt moderation),不开启大流量测速时网速可能不准.
不是所有网卡都有中断调整(interrupt moderation)选项

iperf3网络测速
iperf3网络测速

使用systemd设置iperf3开机自启

https://gist.github.com/auipga/64be019018ef311deba2211ced316f5e

服务器创建iperf3服务用户,配置bash为nologin

# 创建iperf3服务用户,配置bash为nologin
## -M 不建立用户目录
## -s 指定shell
useradd -M -s /sbin/nologin iperf3

iperf3.service 文件

Centos7service目录/usr/lib/systemd/system/iperf3.service
Ubuntuservice目录/lib/systemd/system/iperf3.service

[Unit]
Description=iperf3 server
After=network.target

[Service]
Type=simple
User=iperf3
Group=iperf3
ExecStart=/usr/bin/iperf3 -s
ExecStop=/usr/bin/pkill iperf3
Restart=always
# 最大运行秒数(7天自动重启)
RuntimeMaxSec=604800
RestartSec=2s

[Install]
WantedBy=multi-user.target

设为开机自启

# 重载改动过的服务
systemctl daemon-reload

# 设为开机自启
systemctl enable --now iperf3

# 查看服务状态
systemctl status iperf3

用supervisor设置iperf3开机自启服务

# 安装supervisor
yum install -y supervisor

# 设置supervisord为开机自启并现在启动服务
sudo systemctl enable --now supervisord

服务器创建iperf3服务用户,配置bash为nologin

# 创建iperf3服务用户,配置bash为nologin
## -M 不建立用户目录
## -s 指定shell
useradd -M -s /sbin/nologin iperf3

配置ini文件

创建日志保存目录

# 创建日志保存目录
mkdir -p /var/log/supervisord.log

/etc/supervisord.d/目录中添加iperf3.ini文件
配置内容如下

[program:iperf3]
command=/usr/bin/iperf3 -s
autostart=true
autorestart=true
user=iperf3
startsecs=1
startretries=3
redirect_stderr=true
stdout_logfile=/var/log/supervisord.log/access_iperf3.log
stderr_logfile=/var/log/supervisord.log/error_iperf3.log

启动iperf3后台服务器

iperf3的默认端口是5201

# 更新supervisor配置文件
supervisorctl update

# 重新加载supervisor配置文件
supervisorctl reload

# 查看supversiord管理的服务运行状态
[cesu-c8 root ~]# supervisorctl  status
iperf3                           RUNNING   pid 36155, uptime 0:00:06

# 查看iperf3服务器是否启动
[cesu-c8 root ~]# supervisorctl  status iperf3
iperf3                           RUNNING   pid 36155, uptime 0:00:48

# 查看端口是否处于监听状态
[cesu-c8 root ~]# ss -tunlp|grep 5201
tcp   LISTEN 0      128                *:5201             *:*    users:(("iperf3",pid=36155,fd=3)) 

公共测速服务器

https://iperf.fr/iperf-servers.php#public-servers
https://blog.csdn.net/oujiangping/article/details/78260172
————————————————

原文链接:https://blog.csdn.net/omaidb/article/details/120478171

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...