一种Linux下使用netperf自动测试网卡性能的方法与流程

文档序号:17221004发布日期:2019-03-27 11:57阅读:1091来源:国知局
一种Linux下使用netperf自动测试网卡性能的方法与流程

本发明涉及网卡性能测试技术领域,更具体的说是涉及一种linux下使用netperf自动测试网卡性能的方法。



背景技术:

网卡是工作在链路层的网络组件,是局域网中连接计算机和传输介质的接口,不仅能实现与局域网传输介质之间的物理连接和电信号匹配,还涉及帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码以及数据缓存的功能等。

目前业界网卡性能测试最常使用的两种工具有:iperf和netperf。其中netperf主要针对基于tcp或udp的传输。netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulkdatatransfer)模式和请求/应答(request/reponse)模式。

目前使用netperf进行网卡性能测试,需要client端和server端两台服务器。client端主要用于监听,server端通过tcp_stream、udp_stream、tcp_rr、设置本地系统发送测试分组的大小等模式进行测试,多采用手动安装开源工具netperf测试工具包,然后在针对每个测试模式逐个进行测试,且每个模式的测试时间和测试网口ip都要逐一进行手动输入,工作量大,耗时耗力。



技术实现要素:

针对以上问题,本发明的目的在于提供一种linux下使用netperf自动测试网卡性能的方法。

本发明为实现上述目的,通过以下技术方案实现:一种linux下使用netperf自动测试网卡性能的方法,包括如下步骤:

步骤1:在server端编译安装开源工具netperf测试工具包;

步骤2:设定测试参数;

步骤3:通过脚本的参数变量调节测试模式的测试线程,并运行脚本;

步骤4:输出并自动保存测试结果。

进一步,所述测试参数包括:参数1、参数2、参数3,参数1为每个模块的测试时间,参数2为每个不同大小本地系统发送测试分组的测试线程数,参数3为待测网口的测试ip。

进一步,所述步骤3具体为:使用for循环将多个测试模式写入同一测试脚本,并且将每个测试模式的测试时间和待测网口的ip设置成测试脚本的参数,自行调节测试时间及测试网口。

进一步,在所述步骤3中,脚本的测试变量包括:测试分组的大小、测试模式的类型。

进一步,将脚本的权限设置为任何用户均可进行读、写、可执行。

进一步,所述步骤3还包括:设定多个测试分组,每个测试分组分别运行每个测试模式。

进一步,所述测试分组的大小为:64k、128k、256k、512k、1024k、1518k。进一步,所述步骤4之后还包括:将测试执行结果写入日志。

进一步,所述测试模式的类型为:udp_stream、udp_rr、tcp_crr、tcp_rr。

本发明有益效果在于:一种linux下使用netperf自动测试网卡性能的方法,能够自动编译安装开源工具netperf测试工具包。针对不同速率的网卡,通过脚本的参数变量调节每个模式的测试线程,实现网卡性能测试的调优。

由于目前netperf性能测试都是对每个模式手动进行逐一测试。本发明,使用for循环将每个需要测试的模式写入同一测试脚本,并且将每个模式的测试时间和待测网口的ip设置成测试脚本的参数,可以自行调节测试时间及测试网口、输出并自动保存测试结果。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。

附图说明

附图1是本发明实施例一的方法流程图。

附图2是本发明实施例二的方法流程图。

具体实施方式

下面结合附图对本发明的具体实施方式做出说明。

实施例一:

如图1所示的一种linux下使用netperf自动测试网卡性能的方法,包括如下步骤:

步骤1:在server端编译安装开源工具netperf测试工具包。

步骤2:设定测试参数。

步骤3:通过脚本的参数变量调节测试模式的测试线程,并运行脚本。

步骤4:输出并自动保存测试结果。

本实施例提出的一种linux下使用netperf自动测试网卡性能的方法,能够自动编译安装开源工具netperf测试工具包。针对不同速率的网卡,通过脚本的参数变量调节每个模式的测试线程,实现网卡性能测试的调优。

实施例二:

如图2所示的一种linux下使用netperf自动测试网卡性能的方法,包括如下步骤:

步骤1:在server端编译安装开源工具netperf测试工具包。

步骤2:设定测试参数。

测试参数包括:参数1、参数2、参数3,参数1为每个模块的测试时间,参数2为每个不同大小本地系统发送测试分组的测试线程数,参数3为待测网口的测试ip。

步骤3:使用for循环将多个测试模式写入同一测试脚本,并且将每个测试模式的测试时间和待测网口的ip设置成测试脚本的参数,自行调节测试时间及测试网口。

步骤4:设定多个测试分组,每个测试分组分别运行每个测试模式。

步骤5:输出并自动保存测试结果。

上述步骤通过脚本实现自动测试,将脚本的权限设置为任何用户均可进行读、写、可执行。测试分组的大小为:64k、128k、256k、512k、1024k、1518k。测试模式的类型为:udp_stream、udp_rr、tcp_crr、tcp_rr。

在上述基础上,具体的脚本内容如下:

#自动编译netperf工具包

cd..

make&&makeinstall

#脚本参数设定:参数1是每个模块的测试时间,参数2是每个不同大小本地系统发送测试分组的测试线程数,参数3是待测网口的测试ip

cdsrc/

time=$1

n=$2

ip=$3

exporttime

exportn

exportip

#编译netperf.sh脚本,设置并写入本地系统发送测试分组的大小,写入udp_stream、udp_rr、tcp_crr、tcp_rr模式

echo"#!/bin/bash">>netperf.sh

foriin{64k,128k,256k,512k,1024k,1518k}

do

echo"echonetperf-h$ip-l$time---m$i|tee-anetperf_$ip_result.txt">>netperf.sh

echo"./netperf-h$ip-l$time---m$i|tee-anetperf_$ip_result.txt">>netperf.sh

for((j=2;j<=$n;j++))

do

echo-n"&./netperf-h$ip-l$time---m$i|tee-anetperf_$ip_result.txt">>netperf.sh

done

echo"sleep10">>netperf.sh

done

foriin{udp_stream,udp_rr,tcp_crr,tcp_rr}

do

echo"echonetperf-t$i-h$ip-l$time|tee-anetperf_$ip_result.txt">>netperf.sh

echo"./netperf-t$i-h$ip-l$time|tee-anetperf_$ip_result.txt">>netperf.sh

echo"sleep10">>netperf.sh

done

chmod777netperf.sh

shnetperf.sh

本实施例提出的一种linux下使用netperf自动测试网卡性能的方法,为使用netperf进行网卡性能的自动化测试提供了一个可行的方案,改善了传统测试方法的操作复杂性,对各个模式进行自动测试,无需繁琐的环境搭建、工具安装、手动参数输入,简洁、省时、自动化测试及结果保存,完全实现自动化测试,对于多个网口或者多种网卡的测试大大节省了人力及资源。

结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所限定的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1