网络测速工具

一、iperf3和iperf测试万兆网卡传输带宽

1、iperf3
tcp是面向连接的,建立连接需要经过三次握手,抖动和延迟都比较大
udp是面向对象的,消耗网络资源要比tcp小很多,抖动和延迟比较小
iperf1 测试udp结果要比iperf3测udp更准确
nping 可以测试udp丢包率003-nping

iperf3是一个可以测试最大传输带宽的工具
工具: iperf3
环境: 两台服务器,各安装万兆网卡测试速率。

1、下载iperf3

(1) windows 直接去官网下载
https://iperf.fr/iperf-download.php
(2) linux 
# yum -y install iperf3 iperf3-devel

2、启动iperf3测试带宽速度

(1) 启动iperf3服务端(server:172.16.10.100)
# iperf3 -s                                  # -s表示我是服务端,之后会启动5102端口进行监听
# ifconfig enp1s0f0 mtu 9000 up              # 调mtu值


(2) windows客户端连接服务端(client: 172.16.10.101)
# iperf3 -c 172.16.10.100 -t -P 2                   # -c表示我是客户端, 后面的ip是服务端ip
# iperf3 -u -c 172.16.10.100 -b 10M  -n 1G -P 2            # -u表示udp,默认不加是tcp, udp协议需要-b指定带宽,-P 表示并发

(3)linux 
https://www.cnblogs.com/hjc4025/p/10438028.html   # 和这个一样
# iperf3 -s -B 172.16.10.103                                        # 启动服务端-B绑定本地网卡ip
# iperf3  -u -c 172.16.10.103 -b 10G -P 2                           # 客户端测试不绑定网卡的情况下
# iperf3  -u -c 172.16.10.103 -B 172.16.10.104  -b 10G -P 2         # 客户端测试udp协议,10G就是万兆,客户端向服务端传输数据,-B绑定本地地址
Connecting to host 172.16.10.103, port 5201
[  4] local 172.16.10.104 port 57818 connected to 172.16.10.103 port 5201     # 从104(本地)到103(服务端)
[ ID] Interval           Transfer     Bandwidth       Total Datagrams
[  4]   0.00-1.00   sec  1.12 GBytes  9.59 Gbits/sec  54795  
[  4]   1.00-2.00   sec  1.17 GBytes  10.1 Gbits/sec  57404  
[  4]   2.00-3.00   sec  1.16 GBytes  10.0 Gbits/sec  57113  
[  4]   3.00-4.00   sec  1.15 GBytes  9.88 Gbits/sec  56425  
^C[  4]   4.00-4.90   sec  1.03 GBytes  9.83 Gbits/sec  50648  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  4]   0.00-4.90   sec  5.63 GBytes  9.87 Gbits/sec  0.000 ms  0/276385 (0%)               # 丢标率0%,传输速度9.87G/s
[  4] Sent 276385 datagrams
iperf3: interrupt - the client has terminated

3、测试udp需要增加参数

# cat /etc/sysctl.conf
net.core.rmem_max=52428800
net.core.rmem_default=52428800
net.core.netdev_max_backlog = 16384
net.core.somaxconn = 16384
# sysctl -p


(1) 服务端192.168.2.155监听一个随机端口
# iperf3 -s 
-----------------------------------------------------------
Server listening on 5201    # 是个端口是tcp还是udp取决于客户端的传参
-----------------------------------------------------------

(2) 客户端测试tcp传输速率(iperf3测tcp看不到丢包率,可以用ethr测试tcp)
# 最大带宽10000M,每秒100G的传输速度测试
# iperf -i 1 -c 120.31.160.241 -b 10M -n 100M -p 5201
# iperf3  -c 192.168.2.155 -b 10000M -n 100G    
Connecting to host 192.168.2.155, port 5201   # 在服务端查看
[  4] local 192.168.2.249 port 6002 connected to 192.168.2.155 port 5201
[ ID] Interval(间隔秒)   Transfer(实际下载速度大B) Bandwidth(每次传输量小b)       Retr  Cwnd
[  4]   0.00-1.00   sec   189 MBytes  1.59 Gbits/sec    0   1.06 MBytes       
[  4]   1.00-2.00   sec  84.0 MBytes   705 Mbits/sec    0   1.59 MBytes       
[  4]   2.00-3.00   sec  89.2 MBytes   749 Mbits/sec   12   1.32 MBytes       
[  4]   3.00-4.00   sec   290 MBytes  2.43 Gbits/sec    0   1.43 MBytes       
[  4]   4.00-5.00   sec   264 MBytes  2.22 Gbits/sec    0   1.54 MBytes       
[  4]   5.00-6.00   sec   105 MBytes   879 Mbits/sec    0   1.64 MBytes       
[  4]   6.00-7.00   sec   278 MBytes  2.33 Gbits/sec    0   1.71 MBytes       
[  4]   7.00-8.00   sec   231 MBytes  1.94 Gbits/sec    0   1.76 MBytes       
^C[  4]   8.00-8.29   sec  67.2 MBytes  1.98 Gbits/sec    0   1.77 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-8.29   sec  1.56 GBytes  1.62 Gbits/sec   12             sender
[  4]   0.00-8.29   sec  0.00 Bytes  0.00 bits/sec                  receiver

(3)客户端测试udp传输
# iperf3 -u -c 192.168.2.155 -b 1000M -n 10G -P 1    
Accepted connection from 192.168.2.249, port 32072  # 服务端查看
[  5] local 192.168.2.155 port 5201 connected to 192.168.2.249 port 43518
[ ID] Interval(间隔)  Transfer(实际下载速度大B) Bandwidth(每秒传输量小b)  Jitter(延迟) Lost/Total Datagrams(丢包率)
[  5]   0.00-1.00   sec  40.0 MBytes   335 Mbits/sec  0.027 ms  0/28714 (0%)  
[  5]   1.00-2.00   sec  48.8 MBytes   409 Mbits/sec  0.024 ms  0/35021 (0%)  
[  5]   2.00-3.00   sec  54.4 MBytes   456 Mbits/sec  0.023 ms  30/39077 (0.077%)  
[  5]   3.00-4.00   sec  52.2 MBytes   438 Mbits/sec  0.020 ms  75/37601 (0.2%)  
[  5]   4.00-5.00   sec  52.9 MBytes   444 Mbits/sec  0.023 ms  58/38052 (0.15%)  
^C[  5]   5.00-5.30   sec  16.3 MBytes   450 Mbits/sec  0.022 ms  0/11678 (0%)  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  5]   0.00-5.30   sec  0.00 Bytes  0.00 bits/sec  0.022 ms  163/190143 (0.086%)

(4) 客户端测试时查看服务端netstat -anputl 可以看到udp端口
# netstat  -anpul|grep 5201
udp6       0      0 192.168.2.183:5201      192.168.2.185:8910      ESTABLISHED 24773/iperf3

--------------------------------------------------------------------
Client 端参数
-c, --client ,以 Client 模式运行;
-u, --udp,以 UDP 协议进行测试,如果是tcp默认不用写;
-b, --bandwidth #[KMG][/#],每秒带宽速率。UDP 默认为 1Mbit/秒,TCP 默认无限制;
-t, --time #,以时间为测试结束条件进行测试,默认为 10 秒;
-n, --bytes #[KMG],测试传输流量总量(也就是测试要传输的文件总大小);
-P, --parallel   表示并发数。

4、iperf用法
https://iperf.fr/iperf-download.php#fedora
https://iperf.fr/download/fedora/iperf-1.7.0-1.1.el3.rf.x86_64.rpm

# 服务端
iptables -I INPUT -p udp --dport  5201 -j ACCEPT
# iperf -i 1 -s -u -p 5201     # udp 
# iperf -i 1 -s  -p 5201       # tcp

# 客户端和iperf3一样,但是支持最大并发高于128
# iperf -i 1 -u -c 192.168.2.183  -b 10M  -n 100M -p 5201 -P 129
# iperf -i 1 -c 120.31.160.241 -b 10M -n 100M -p 5201  # tcp
---------------------------
-i: 间隔(秒)
-u: udp,默认不写为tcp
-c: 开启客户端
-b: 传输带宽
-n:传输流量总量
-P; 并发

二、ethr

ethr网络压测工具
@[toc]
工具介绍
Ethr是一个用golang编写的跨平台网络性能测量工具。该项目的目标是提供本机工具,用于跨多种协议(如TCP,UDP,HTTP,HTTPS和跨多个平台)对带宽,连接,数据包,延迟,丢失进行全面的网络性能测量。
windows版公网下载 linux版公网下载 官方文档
Ethr服务端
Ethr服务端启动命令: ./ethr -s 
Ethr客户端
tcp测试延时示例(yyy.yyy.yyy.y为ethr服务(./ethr -s )的服务端ip)
./ethr -c yyy.yyy.yyy.y -t pi -p tcp 
udp测试传包示例(yyy.yyy.yyy.y为ethr服务(./ethr -s )的服务端ip)
./ethr -c yyy.yyy.yyy.y -t p -p udp 
参数详情
-c 客户端方式运行,后面跟服务端ip
-b 每秒发送的数据包,默认不设上限,仅支持测试带宽
-d 测试几秒,默认10s
-g 连续测量的时间间隔,默认1s,用于测试延时,ping,traceroute
-l 测试带宽的包大小,默认16Kb,最大1G,用来测带宽
-port 对应服务端非8888端口测试
-p "tcp", "udp", "http", "https", "icmp", 默认tcp
-s 服务端方式运行
-t 要测的项目 `Test to run ("b", "c", "p" or "l") b:带宽 c:不支持udp,Connections/s p: Packets/s l: 不支持udp,延迟、丢失和抖动 Latency, Loss & Jitter pi:不支持udp,ping丢包延时 tr:不支持udp,TraceRoute mtr:不支持udp,TraceRoute+延时
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会飞的爱迪生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值