一种基于ARM服务器的网络性能测试方法及装置与流程

文档序号:11842220阅读:532来源:国知局
一种基于ARM服务器的网络性能测试方法及装置与流程

本发明涉及服务器技术领域,特别涉及一种基于ARM服务器的网络性能测试方法及装置。



背景技术:

ARM普遍被用作个人数据处理、瘦客户机终端、以及个人级别的NAS(Network Attached Storage,网络附属存储)服务器处理器核心。从ARM与x86的发展历史来看,ARM相对于x86更接近用户端,因此,近几年开始将ARM应用在服务器中。在服务器中,网络性能的测试非常重要。现有技术中,只包括对x86服务器的网络性能测试方法,尚未有针对ARM服务器的网络性能测试方法,因此,急需提供一种ARM服务器的网络性能测试方法。



技术实现要素:

本发明实施例提供了一种基于ARM服务器的网络性能测试方法及装置,以实现基于ARM服务器的网络性能测试。

第一方面,本发明实施例提供了一种基于ARM服务器的网络性能测试方法,包括:

确定待测试的ARM服务器的操作系统环境;

确定针对所述ARM服务器进行测试的测试项;

根据所述测试项,对测试工具进行编译;

根据所述操作系统环境,将所述测试工具安装到所述ARM服务器中;

利用所述测试工具对所述ARM服务器的测试项进行测试。

优选地,在所述确定针对所述ARM服务器进行测试的测试项之前,进一步包括:确定所述ARM服务器的测试指标,所述测试指标包括:可用性、响应时间、网络利用率、网络吞吐量和网络带宽容量中的至少一种。

优选地,所述测试项包括:TCP_STREAM测试、UDP_STREAM测试、TCP_CRR测试、TCP_RR测试和UDP_RR测试中的至少一种。

优选地,

在所述测试项包括TCP_STREAM测试时,所述利用所述测试工具对所述ARM服务器的测试项进行测试,包括:所述测试工具向网络服务器发送批量TCP数据分组,根据网络服务器的响应结果输出相应测试指标值;

在所述测试项包括UDP_STREAM测试时,所述利用所述测试工具对所述ARM服务器的测试项进行测试,包括:所述测试工具向网络服务器发送批量UDP数据分组,根据网络服务器的响应结果输出相应测试指标值;

在所述测试项包括TCP_CRR测试时,所述利用所述测试工具对所述ARM服务器的测试项进行测试,包括:所述测试工具与数据接收对象建立TCP连接,并与该数据接收对象进行数据交易,并继续执行本步骤,直到交易次数达到第一设定次数时,则根据每一次交易结果输出相应测试指标值;

在所述测试项包括TCP_RR测试时,所述利用所述测试工具对所述ARM服务器的测试项进行测试,包括:所述测试工具与数据接收对象建立TCP连接,并与该数据接收对象进行第二设定次数的数据交易,并根据每一次交易结果输出相应测试指标值;

在所述测试项包括UDP_RR测试时,所述利用所述测试工具对所述ARM服务器的测试项进行测试,包括:所述测试工具与数据接收对象进行第三设定次数的UDP分组数据的交易,并根据每一次交易结果输出相应测试指标值。

优选地,所述根据所述测试项,对测试工具进行编译,包括:

在所述测试项包括至少两种测试时,将所述至少两测试按照设定测试顺序编写在测试工具中。

优选地,所述测试工具包括:netperf、db、iperf、ptrte、nettet、netlogger、tcptrce或ntop。

第二方面,本发明实施例还提供了一种基于ARM服务器的网络性能测试装置,包括:

第一确定单元,用于确定待测试的ARM服务器的操作系统环境;

第二确定单元,用于确定针对所述ARM服务器进行测试的测试项;

编译单元,用于根据所述测试项,对测试工具进行编译;

安装单元,用于根据所述操作系统环境,将所述测试工具安装到所述ARM服务器中;

测试单元,用于利用所述测试工具对所述ARM服务器进行测试。

优选地,进一步包括:第三确定单元,用于确定所述ARM服务器的测试指标,所述测试指标包括:可用性、响应时间、网络利用率、网络吞吐量和网络带宽容量中的至少一种。

优选地,所述测试项包括:TCP_STREAM测试、UDP_STREAM测试、TCP_CRR测试、TCP_RR测试和UDP_RR测试中的至少一种。

优选地,

在所述测试项包括TCP_STREAM测试时,所述测试单元具体用于:所述测试工具向网络服务器发送批量TCP数据分组,根据网络服务器的响应结果输出相应测试指标值;

在所述测试项包括UDP_STREAM测试时,所述测试单元具体用于:所述测试工具向网络服务器发送批量UDP数据分组,根据网络服务器的响应结果输出相应测试指标值;

在所述测试项包括TCP_CRR测试时,所述测试单元具体用于:所述测试工具与数据接收对象建立TCP连接,并与该数据接收对象进行数据交易,并继续执行本步骤,直到交易次数达到第一设定次数时,则根据每一次交易结果输出相应测试指标值;

在所述测试项包括TCP_RR测试时,所述测试单元具体用于:所述测试工具与数据接收对象建立TCP连接,并与该数据接收对象进行第二设定次数的数据交易,并根据每一次交易结果输出相应测试指标值;

在所述测试项包括UDP_RR测试时,所述测试单元具体用于:所述测试工具与数据接收对象进行第三设定次数的UDP分组数据的交易,并根据每一次交易结果输出相应测试指标值;

和/或,

所述编译单元,具体用于在所述测试项包括至少两种测试时,将所述至少两测试按照设定测试顺序编写在测试工具中。

本发明实施例提供了一种基于ARM服务器的网络性能测试方法及装置,通过确定ARM服务器的测试项,可以对测试工具进行编译,并根据ARM服务器的操作系统环境,将测试工具安装到ARM服务器中,从而可以对ARM服务器的测试项进行测试,实现了基于ARM服务器的网络性能测试。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例提供的一种方法流程图;

图2是本发明一个实施例提供的另一种方法流程图;

图3是本发明一个实施例提供的一种装置结构示意图;

图4是本发明一个实施例提供的另一种装置结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种基于ARM服务器的网络性能测试方法,该方法可以包括以下步骤:

步骤101:确定待测试的ARM服务器的操作系统环境;

步骤102:确定针对所述ARM服务器进行测试的测试项;

步骤103:根据所述测试项,对测试工具进行编译;

步骤104:根据所述操作系统环境,将所述测试工具安装到所述ARM服务器中;

步骤105:利用所述测试工具对所述ARM服务器的测试项进行测试。

可见,根据上述实施例,通过确定ARM服务器的测试项,可以对测试工具进行编译,并根据ARM服务器的操作系统环境,将测试工具安装到ARM服务器中,从而可以对ARM服务器的测试项进行测试,实现了基于ARM服务器的网络性能测试。

在本发明一个实施例中,在ARM服务器构建完成时,需要对其网络性能进行测试,在测试网络性能时,主要对如下测试指标进行测试:可用性(ilbility)、响应时间(repone tie)、网络利用率(network utilition)、网络吞吐量(network trougput)和网络带宽容量(network bndwidt cpcity)中的至少一种。

其中,可用性用于确定网络是否正常工作;响应时间用于表征Ping命令的eco requet/reply一次来回所花费时间;网络利用率用于表征网络被使用的时间占总时间的比例;网络吞吐量用于表征在某个时刻在网络中的两个节点之间提供给网络应用的剩余带宽;网络带宽容量用于表征在网络的两个节点之间的最大可用带宽。

在本发明一个实施例中,为了实现对上述至少一种测试指标的测试,以完成对ARM服务器的网络性能的测试,所述测试项可以包括:TCP_STREAM测试、UDP_STREAM测试、TCP_CRR测试、TCP_RR测试和UDP_RR测试中的至少一种。

在本发明一个实施例中,在对上述实施例中的测试项进行测试时,测试方式可以包括如下内容:

在所述测试项包括TCP_STREAM测试时,所述利用所述测试工具对所述ARM服务器的测试项进行测试,包括:所述测试工具向网络服务器发送批量TCP数据分组,根据网络服务器的响应结果输出相应测试指标值;

在所述测试项包括UDP_STREAM测试时,所述利用所述测试工具对所述ARM服务器的测试项进行测试,包括:所述测试工具向网络服务器发送批量UDP数据分组,根据网络服务器的响应结果输出相应测试指标值;

在所述测试项包括TCP_CRR测试时,所述利用所述测试工具对所述ARM服务器的测试项进行测试,包括:所述测试工具与数据接收对象建立TCP连接,并与该数据接收对象进行数据交易,并继续执行本步骤,直到交易次数达到第一设定次数时,则根据每一次交易结果输出相应测试指标值;

在所述测试项包括TCP_RR测试时,所述利用所述测试工具对所述ARM服务器的测试项进行测试,包括:所述测试工具与数据接收对象建立TCP连接,并与该数据接收对象进行第二设定次数的数据交易,并根据每一次交易结果输出相应测试指标值;

在所述测试项包括UDP_RR测试时,所述利用所述测试工具对所述ARM服务器的测试项进行测试,包括:所述测试工具与数据接收对象进行第三设定次数的UDP分组数据的交易,并根据每一次交易结果输出相应测试指标值。

根据上述实施例输出的各个测试指标值,可以确定出可用性、响应时间、网络利用率、网络吞吐量和网络带宽容量中的至少一种测试指标对应的值,从而可以确定出ARM服务器的网络性能。

由于现有技术中,在对x86服务器进行网络性能测试时,针对每一个测试项,在当前测试项测试完成后,需要测试人员手工输入命令行的形式以进行下一个测试项的测试,现有技术测试效率较低。在本发明一个实施例中,所述根据所述测试项,对测试工具进行编译,包括:在所述测试项包括至少两种测试时,将所述至少两测试按照设定测试顺序编写在测试工具中。在每相邻两个测试项之间可以通过编写进入下一个测试项测试的脚本,以实现测试项自动进行测试的目的,从而可以提高测试效率。

在本发明一个实施例中,在对ARM服务器的网络性能进行测试时,可以通过如下测试工具来实现:netperf、db、iperf、ptrte、nettet、netlogger、tcptrce或ntop。

下面以测试工具为netperf-2.7.0为例,对本发明实施例提供的基于ARM服务器的网络性能测试方法进行详细说明。

如图2所示,本发明实施例提供了一种基于ARM服务器的网络性能测试方法,该方法可以包括以下步骤:

步骤201:确定待测试的ARM服务器的操作系统环境。

在本实施例中,为了实现后续过程中能够将测试工具安装在ARM服务器中,以实现对ARM服务器的网络性能的测试,需要确定该ARM服务器的操作系统环境,例如,该操作系统环境为64位操作系统。

步骤202:确定ARM服务器的测试指标。

在对网络性能进行测试时,一般可以对如下测试指标中的至少一种进行测试:

1、可用性。

其中,可用性用于确定网络是否正常工作。

在判断网络实现正常工作时,可以使用ping命令。通过向远端机器发送icp eco requet,并等待接收icp eco reply来判断与远端机器是否连通。

其中,Ping命令有非常丰富的命令选项,例如,-c可以指定发送eco requet的个数、可以指定每次发送的ping包大小。在网络设备内部一般有多个缓冲池。不同的缓冲池使用不同的缓冲区大小,分别用来处理不同大小的分组(pcket)。为了测试网络性能,测试工具需要具有发送不同大小分组的能力。

2、响应时间。

其中,响应时间用于表征Ping命令的eco requet/reply一次来回所花费时间。

影响响应时间的因素至少可以包括如下几种:1、网段的负荷。2、网络主机的负荷。3、广播风暴。4、工作不正常的网络设备。

在网络工作正常时,可以记录下正常的响应时间。当网络的反应时间慢时,就可以将现在的响应时间与正常的响应时间对比,如果两者差值的波动很大,就能说明ARM服务器的网络性能存在故障。

3、网络利用率。

其中,网络利用率用于表征网络被使用的时间占总时间的比例。

例如,Eternet虽然是共享的,但同时却只能有一个报文在传输,因此在任一时刻。Eternet的网络利用率是100%,或者是0%。

在计算一个网段的网络利用率相对比较容易,但是确定一个网络的利用率就比较复杂。因此,网络测试工具一般使用网络吞吐量和网络带宽容量来确定网络中两个节点之间的性能。

4、网络吞吐量。

其中,网络吞吐量用于表征在某个时刻在网络中的两个节点之间提供给网络应用的剩余带宽。

网络吞吐量可以帮助寻找网络路径中的瓶颈。例如,即使client和Server都被分别连接到各自的100M Eternet上,但是如果这两个100M的Eternet被10M的Eternet连接起来,那么10M的Eternet就是网络的瓶颈。网络吞吐量非常依赖于当前的网络负载情况。因此,为了得到正确的网络吞吐量,可以在不同时间分别进行测试。

5、网络带宽容量。

其中,网络带宽容量用于表征在网络的两个节点之间的最大可用带宽。网络带宽容量是由组成网络的设备能力决定的。

步骤203:根据确定的各个测试指标,确定针对ARM服务器进行测试的测试项。

在确定了各个测试指标之后,可以确定针对ARM服务器进行测试的测试项包括:TCP_STREAM测试、UDP_STREAM测试、TCP_CRR测试、TCP_RR测试和UDP_RR测试中的至少一种。

步骤204:根据测试项,对测试工具netperf-2.7.0进行编译。

在对测试工具netperf-2.7.0进行编译时,可以按照设定顺序将至少一种测试项对应的脚本编译到测试工具中,为了实现该至少一种测试项能够自动进行测试,可以在相邻两个测试项之间通过编写进入下一个测试项测试的脚本,以实现测试项自动进行测试的目的,从而可以提高测试效率。

其中,该测试顺序可以包括:TCP_STREAM测试、UDP_STREAM测试、TCP_CRR测试、TCP_RR测试、UDP_RR测试。

步骤205:根据操作系统环境,将测试工具安装到ARM服务器中。

其中,该ARM服务器可以以Ubuntu 14.04为例进行说明。

在本实施例中,至少可以通过如下脚本实现将测试工具安装到ARM服务器中:

tar zvxf netperf-2.7.0.tar.gz

./configure--build=aarch64-unknown-linux-gnu-prefix=/home/iperf-3.0.3/in stall

make

make install

cd install

步骤206:利用测试工具netperf-2.7.0对ARM服务器的测试项进行测试。

在本实施例中,可以分别利用TCP协议和UDP协议对网络性能进行测试,下面以Server运行在192.168.0.28,Server与client通过局域网连接(100M Hub)针对每一个测试项的网络性能测试进行说明。

TCP_STREAM测试:Netperf缺省情况下进行TCP批量传输,在测试过程中,netperf向Server发送批量的TCP数据分组,以确定数据传输过程中的网络吞吐量,其中,输出的该网络吞吐量的值可以包括:./netperf-H192.168.0.28-l 60TCP STREAM TEST to 192.168.0.28Rec Send SendSocket Socket Mege ElpedSie Sie Sie Tie Trougputbyte byte byte ec.10^6bit/ec8738016384 16384 60.00 88.00

从上述输出结果可以看出,1、远端系统Server使用大小为87380字节的Socket接收缓冲;2、本地系统netperf(即client)使用大小为16384字节的Socket发送缓冲;3、向远端系统发送的测试分组大小为16384字节;4、测试经历的时间为60秒;5、网络吞吐量的测试结果为88Mbit/秒。

其中,对于TCP_STREAM测试,至少可以通过如下脚本来实现:

for i in 64k 128k 256k

do

./netperf-H$ip-l 1800---m$i

done|tee throughput_l.log

for i in 512k 1024k 1280k 1518k

do

./netperf-H$ip-l 1800---m$i&

./netperf-H$ip-l 1800---m$i

done|tee throughput_h.log#对于大数据块512k部分采用双线程方式

UDP_STREAM测试:数据分组的大小不得大于Socket的发送与接收缓冲大小,否则netperf会报出错提示,为了避免这样的情况,可以通过命令行参数限定测试分组的大小,或者增加Socket的发送/接收缓冲大小。UDP_STREAM方式使用与TCP_STREAM方式相同的局部命令行参数。因此,这里可以修改测试中数据分组的大小,在修改后,netperf会向远端系统发送批量UDP数据分组,根据网络服务器的响应结果输出相应测试指标值。

其中,对于UDP_STREAM测试至少可以通过如下脚本来实现:

for i in{1..7}

do

./netperf-t UDP_STREAM-H 192.168.6.1-l 600&

done|tee UDP_STREAM_multi_7.log

TCP_CRR测试:每次交易之前需要建立一次TCP连接。因此,由于需要不停地建立新的TCP连接,并且在交易结束后拆除TCP连接,交易率一定会受到很大的影响。输出的测试指标值可以包括:./netperf-t TCP_CRR-H192.168.0.28TCP Connect/Requet/Repone TEST to 192.168.0.28Locl/Reote Socket Sie Requet Rep.Elped Trn.Send Rec Sie Sie Tie Rtebyte Byte byte byte ec.per ec131070 131070 1 1 9.99 2662.20 16384 87380。根据该输出结果可以获知交易率明显降低,为2662.20次/秒。

其中,针对TCP_CRR测试至少可以通过如下脚本来实现:

./netperf-t TCP_CRR-H$ip TCP_CRR-l 600|tee TCP_CRR.log

TCP_RR测试:client程序与Server程序建立一个TCP连接以后,就在这个连接中传送数据库的多次交易过程。输出的测试指标值可以包括:./netperf-t TCP_RR-H 192.168.0.28TCP REQUEST/RESPONSE TEST to192.168.0.28Locl/Reote Socket Sie Requet Rep.Elped Trn.Send Rec Sie Sie Tie Rtebyte Byte byte byte ec.per ec16384 87380 1 1 10.00 9502.731638487380。根据该输出结构可以获知平均的交易率为9502.73次/秒。

其中,对于TCP_RR测试至少可以通过如下脚本来实现:

./netperf-t TCP_RR-H$ip TCP_RR-l 600|tee TCP_RR.log

UDP_RR测试:所述测试工具与数据接收对象进行第三设定次数的UDP分组数据的交易,并根据每一次交易结果输出相应测试指标值,其中,输出的测试指标值可以包括:./netperf-t UDP_RR-H 192.168.0.28UDP REQUEST/RESPONSE TEST to 192.168.0.28Locl/Reote Socket Sie Requet Rep.Elped Trn.Send Rec Sie Sie Tie Rtebyte Byte byte byte ec.per ec6553565535 1 1 9.99 10141.1665535 65535。根据该输出结果可以获知交易率为10141.16次/秒。

其中,对于UDP_RR测试至少可以通过如下脚本来实现:

./netperf-t UDP_RR-H$ip UDP_RR-l 600|tee UDP_RR.log

步骤207:根据输出的结果确定ARM服务器的网络性能。

请参考图3,本发明实施例提供了一种基于ARM服务器的网络性能测试装置,可以包括:

第一确定单元301,用于确定待测试的ARM服务器的操作系统环境;

第二确定单元302,用于确定针对所述ARM服务器进行测试的测试项;

编译单元303,用于根据所述测试项,对测试工具进行编译;

安装单元304,用于根据所述操作系统环境,将所述测试工具安装到所述ARM服务器中;

测试单元305,用于利用所述测试工具对所述ARM服务器进行测试。

在本发明一个实施例中,请参考图4,该基于ARM服务器的网络性能测试装置可以进一步包括:第三确定单元401,用于确定所述ARM服务器的测试指标,所述测试指标包括:可用性、响应时间、网络利用率、网络吞吐量和网络带宽容量中的至少一种。

在本发明一个实施例中,所述测试项包括:TCP_STREAM测试、UDP_STREAM测试、TCP_CRR测试、TCP_RR测试和UDP_RR测试中的至少一种。

在本发明一个实施例中,在所述测试项包括TCP_STREAM测试时,所述测试单元具体用于:所述测试工具向网络服务器发送批量TCP数据分组,根据网络服务器的响应结果输出相应测试指标值;

在所述测试项包括UDP_STREAM测试时,所述测试单元具体用于:所述测试工具向网络服务器发送批量UDP数据分组,根据网络服务器的响应结果输出相应测试指标值;

在所述测试项包括TCP_CRR测试时,所述测试单元具体用于:所述测试工具与数据接收对象建立TCP连接,并与该数据接收对象进行数据交易,并继续执行本步骤,直到交易次数达到第一设定次数时,则根据每一次交易结果输出相应测试指标值;

在所述测试项包括TCP_RR测试时,所述测试单元具体用于:所述测试工具与数据接收对象建立TCP连接,并与该数据接收对象进行第二设定次数的数据交易,并根据每一次交易结果输出相应测试指标值;

在所述测试项包括UDP_RR测试时,所述测试单元具体用于:所述测试工具与数据接收对象进行第三设定次数的UDP分组数据的交易,并根据每一次交易结果输出相应测试指标值;

在本发明一个实施例中,所述编译单元,具体用于在所述测试项包括至少两种测试时,将所述至少两测试按照设定测试顺序编写在测试工具中。

综上,本发明各个实施例至少可以实现如下有益效果:

1、在本发明实施例中,通过确定ARM服务器的测试项,可以对测试工具进行编译,并根据ARM服务器的操作系统环境,将测试工具安装到ARM服务器中,从而可以对ARM服务器的测试项进行测试,实现了基于ARM服务器的网络性能测试。

2、在本发明实施例中,通过对网络性能中的可用性、响应时间、网络利用率、网络吞吐量和网络带宽容量中的至少一种测试指标进行测试,从而保证测试的ARM服务器的网络性能的可靠性。

上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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