iperf的学习与部分网络状况的简要总结


背景

  • 随着信息安全的越来越重要,公司要求进行数据备份.
  • 部分客户现场交付之前需要进行性能压测,但是因为各种环境问题效果不是很理想.
  • 前段时间疫情严重,经常需要居家办公,出现了很多网络相关的问题.
  • 因为客户签单需要进行POC验证, 经常需要不同了楼层和园区进行大文件copy, 时间不可控.
  • 基于如上的问题, 有时候又无法给对应接口人一个具体的数据,出现了比较难调和的问题.
  • 周天时间简单学习了iperf的工具,发现应该是最对口的工具了, 这里简单总结一下.

网络情况总结

1. 机房内虚拟机之间的速度基本上1GB的全速(低压力情况下单位wibit),但是UDP丢包率高.
2. 机房内到办公区域也是千兆(1G)网络全速(bit),但是应该是整个机房和整个办公园区共享.
   如果办公时间,压力可能会很大,不太可能全速.
3. 办公区域内和机房内到阿里云的速度都不是很快,只有不到 12m(bit) 的网络带宽.
   阿里服务器应该是有5m的带宽的, 说明公司内为了总出口带宽可用性还是做了很多限制的. 
注意,这边网速都是按照 bit 比特位来的, 没有使用bytes 字节标识. 

下载

  • iperf工具支持 windows 安卓 linux 不同架构的系统, 直接下载即可.
https://iperf.fr/iperf-download.php
直接上网站下载即可. 
我这边下载的文件主要有:
iperf-3.1.3-macos-x86_64.zip
iperf-3.1.3-win64.zip
iperf3-3.1.3-1.fc24.x86_64.rpm
iperf3_3.1.3-1_amd64.deb
iperf3_3.1.3-1_arm64.deb
iperf3_3.9-1_amd64.deb
uwp-iperf3-1.1.5.0-source.zip

安装

  • 区分不同操作系统
Windows的安装,将zip包解压缩然后将exe和cygwin.dll 都放到 
c:\windows\system32 就可以使用了.
CentOS的安装可以直接使用 rpm进行
rpm -ivh xxxx.rpm 即可.

简单使用

  • 区分服务端和客户端
服务端的启用
iperf3 -s -D -p 6301
注意 -s 表示是服务器端启用.
-D 表示是后台启动(有可以使用nohup)
-p 指定端口, 如果阿里云上面只开放了部分端口的话.
客户端的使用
iperf3 -c 10.x.x.x -p 6301 
注意 -c 指点是客户端 client/server
-p 指代端口.
默认会执行10次
如果加上 -u 的参数 指代使用udp 进行相关操作.
可以加上 -b 的参数指代带宽,查看丢包率和延迟

公司网络简单验证.

  • 机房内 虚拟机到虚拟机
命令为: 
 iperf3 -c 10.110.xx.xxx -p 6301 -u -b 1000m -t 10
结果为: 
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  4]   0.00-10.00  sec  1.15 GBytes   992 Mbits/sec  0.058 ms  3751/9085 (41%)  
[  4] Sent 9085 datagrams
  • 机房内虚拟机到阿里云服务器
命令为: 
  iperf3 -c 121.199.xx.xxx -p 6300
结果为:
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  14.4 MBytes  12.1 Mbits/sec    2             sender
[  4]   0.00-10.00  sec  11.9 MBytes  9.96 Mbits/sec                  receiver

公司网络简单验证.

  • 办公区域到机房
命令为:
 iperf3 -c 10.110.xx.xxx -p 6301
结果为:
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  1.06 GBytes   908 Mbits/sec  171             sender
[  4]   0.00-10.00  sec  1.05 GBytes   905 Mbits/sec                  receiver
  • 办公区域到阿里云
命令为:
 iperf3 -c 121.199.xx.xxx -p 6300
结果为:
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  14.6 MBytes  12.3 Mbits/sec    0             sender
[  4]   0.00-10.00  sec  11.4 MBytes  9.56 Mbits/sec                  receiver

公司网络简单验证.

  • 公司无线对阿里云
命令为:
iperf3 -c 121.199.xx.xxx -p 6300
结果为:
Connecting to host 121.199.13.183, port 6300
[  4] local 10.72.149.211 port 1038 connected to 121.199.13.183 port 6300
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.01   sec   256 KBytes  2.07 Mbits/sec
[  4]   1.01-2.01   sec   128 KBytes  1.05 Mbits/sec
[  4]   2.01-3.01   sec   256 KBytes  2.10 Mbits/sec
[  4]   3.01-4.01   sec   128 KBytes  1.05 Mbits/sec
[  4]   4.01-5.01   sec   128 KBytes  1.05 Mbits/sec
[  4]   5.01-6.01   sec  0.00 Bytes  0.00 bits/sec
[  4]   6.01-7.01   sec   256 KBytes  2.10 Mbits/sec
[  4]   7.01-8.01   sec   128 KBytes  1.05 Mbits/sec
[  4]   8.01-9.01   sec  0.00 Bytes  0.00 bits/sec
[  4]   9.01-10.01  sec   128 KBytes  1.05 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.01  sec  1.38 MBytes  1.15 Mbits/sec                  sender
[  4]   0.00-10.01  sec  1.19 MBytes   995 Kbits/sec                  receiver

公司网络简单验证.

  • 公司无线对机房
Connecting to host 10.110.83.113, port 6301
[  4] local 10.72.149.211 port 1185 connected to 10.110.83.113 port 6301
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.01   sec  1.50 MBytes  12.5 Mbits/sec
[  4]   1.01-2.00   sec  1.00 MBytes  8.46 Mbits/sec
[  4]   2.00-3.02   sec  1.38 MBytes  11.4 Mbits/sec
[  4]   3.02-4.01   sec  1.00 MBytes  8.40 Mbits/sec
[  4]   4.01-5.01   sec  1.00 MBytes  8.41 Mbits/sec
[  4]   5.01-6.01   sec  1.38 MBytes  11.6 Mbits/sec
[  4]   6.01-7.01   sec   512 KBytes  4.20 Mbits/sec
[  4]   7.01-8.01   sec  1.75 MBytes  14.7 Mbits/sec
[  4]   8.01-9.00   sec  1.00 MBytes  8.40 Mbits/sec
[  4]   9.00-10.00  sec  1.00 MBytes  8.41 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec  11.5 MBytes  9.64 Mbits/sec                  sender
[  4]   0.00-10.00  sec  11.3 MBytes  9.48 Mbits/sec                  receiver


其他

阿里云速度的验证
wget https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
cmod 777 speedtest.py
./speedtest.py
结果为:
Retrieving speedtest.net configuration...
Testing from Hangzhou Alibaba Advertising Co.,Ltd. (121.199.13.183)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by China Unicom (Nanjing) [234.90 km]: 23.776 ms
Testing download speed................................................................................
Download: 213.83 Mbit/s
Testing upload speed................................................................................................
Upload: 234.29 Mbit/s