1. iperf3简介

        iperf3是一种常见的网络性能测试工具,支持时序、缓冲区、协议(TCP、UDP、SCTP 与 IPv4 和 IPv6)有关的各种参数,用于评估网络链路的传输带宽,延迟抖动和数据包丢失等性能。

2. iperf3测试环境

        iperf3测试可以通过两台服务器之间的数据传输进行流量/带宽测试,也可以实现一台服务器不同端口之间的流量/带宽测试,下文介绍在单一服务器的条件下的测试方法;

        测试设备: 服务器1台;双光口网卡1PCS;光模块2PCS,双芯跳线1根;

        按如下网络拓扑图进行连接:

iPerf3测试单服务器网络拓扑

图1 iPerf3测试单服务器网络拓扑

3. iperf3测试软件

        下载地址:https://iperf.fr/iperf-download.php ,本次安装选择Centos系统64bits,下载文件名为iperf3-3.1.3-1.fc24.x86_64.rpm

        在服务器终端输入命令“rpm -ivh 文件名” 安装iperf工具。

 iPerf3软件安装

图2 iPerf3软件安装

4. iperf3测试方法

        a、在Dell R720 2U服务器上,将两个模块分别插入INTEL XXV710网口p4p1和p4p2,使用跳线对连,待网卡指示灯常亮,即模块LINK后,打开服务器终端。

        b、在单台服务器上使用iperf测试,我们需要打开内核的网络转发功能,并利用netns将双网口网卡上的两个网口隔离,即p4p1和p4p2两个网口,否则可能会通过内部的协议栈进行数据传输,而不是物理连接的真正测试结果。

        c、在服务器终端输入:vi /etc/sysctl.conf,对内核进行配置修改;

对内核进行配置修改

图3 对内核进行配置修改

        d、输入如下命令Controls IP packet forwarding net.ipv4.ip_forward = 1,开启网络转发功能;

开启网络转发功能

图4 开启网络转发功能

        e、输入sysctl -p,使上述配置功能生效;

执行命令生效

图5 执行命令生效

        f、添加2个namespace分别为ns1和ns2,添加后查看是否添加成功;

添加namespace

图6 添加namespace

        g、将网口p4p1添加到ns1并查看;

添加p4p1到ns1

图7 添加p4p1到ns1

        h、将网口p4p2添加到ns2并查看;

添加p4p2到ns2

图8 添加p4p2到ns2

        i、给ns1,ns2的2个接口分别配置IP并查看;

配置IP

图9 配置IP

        k、在ns1上运行iperf3服务端;

在ns1上运行iperf3服务端

图10 在ns1上运行iperf3服务端

        m、打开一个新的终端,在ns2上运行iperf3客户端;

带宽测试结果

图11 带宽测试结果

        光模块在服务器上应用时,工作在物理层,进行透明的“0”与“1”信号的光电转换与传输,在iPerf3测试时一般不会影响测试带宽的波动。

        在使用光模块进行iPerf3流量测试时,由于CPU硬件的限制,一般无法达到达到100%的目标带宽,如果上图11中所示(英特尔原装光模块E10GSFPSR,支持带宽10Gbits/sec,实际测试在当前服务器硬件下只能达到约9.37Gbits/sec)。

        摩泰光电竭诚为您服务!