CN110855520A - 网络性能的测试方法和测试装置、电子设备及存储介质 - Google Patents
网络性能的测试方法和测试装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110855520A CN110855520A CN201911096801.1A CN201911096801A CN110855520A CN 110855520 A CN110855520 A CN 110855520A CN 201911096801 A CN201911096801 A CN 201911096801A CN 110855520 A CN110855520 A CN 110855520A
- Authority
- CN
- China
- Prior art keywords
- network performance
- test
- testing
- configuration parameters
- executable file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及计算机网络技术领域,具体涉及网络性能的测试方法和测试装置、电子设备及存储介质,方法包括:获取被测设备的CPU信息;利用CPU信息确定被测设备对应的编译平台;基于编译平台编译出网络性能测试可执行文件,并将网络性能测试可执行文件导入被测设备中;设置被测设备的配置参数;根据网络性能测试可执行文件以及配置参数,对被测设备进行网络性能测试,以得到被测设备对应于配置参数的测试数据。基于所获取到的CPU信息可以编译出与被测设备对应的网络性能测试可执行文件,为被测设备设置配置参数,以使得被测设备利用该网络性能测试可执行文件在配置参数下进行网络性能测试,可以避免预支***类型以及***内存,提高网络性能测试的效率。
Description
技术领域
本发明涉及计算机网络技术领域,具体涉及网络性能的测试方法和测试装置、电子设备及存储介质。
背景技术
网络性能测试是用于对被测设备在不同的配置环境下的网络性能,现有对网络性能的测试一般是通过在测试设备上安装专业的网络性能测试工具,对被测设备进行网络性能测试。例如,安装Iperf,Iperf可以测试最大TCP和UDP带宽性能,具有多种参数和UDP特性,可以根据需要调整,可以报告带宽、延迟抖动和数据包丢失等等。
然而,专业的网络性能测试工具的安装需要安装人员具有一定的专业知识,且对于测试设备而言,需要预支***类型以及***内存,这会导致网络性能测试的测试效率较低。
发明内容
有鉴于此,本发明实施例提供了一种网络性能的测试方法和测试装置、电子设备及存储介质,以解决网络性能测试的测试效率低的问题。
根据第一方面,本发明实施例提供了一种网络性能的测试方法,包括:
获取被测设备的CPU信息;
利用所述CPU信息确定所述被测设备对应的编译平台;
基于所述编译平台编译出网络性能测试可执行文件,并将所述网络性能测试可执行文件导入所述被测设备中;其中,网络性能测试可执行文件用于测试网络性能;
设置所述被测设备的配置参数;其中,所述配置参数包括内核参数以及测试场景标识;同一所述内核参数对应于至少一种测试场景;
根据所述网络性能测试可执行文件以及所述配置参数,对所述被测设备进行网络性能测试,以得到所述被测设备对应于所述配置参数的测试数据。
本发明实施例提供的网络性能的测试方法,通过获取被测设备的CPU信息,基于所获取到的CPU信息可以编译出与被测设备对应的网络性能测试可执行文件,同时为被测设备设置配置参数,以使得被测设备利用该网络性能测试可执行文件在配置参数下进行网络性能测试,该测试方法可以避免预支***类型以及***内存,提高了网络性能测试的效率。
结合第一方面,在第一方面第一实施方式中,所述基于所述编译平台编译出网络性能测试可执行文件,包括:
利用所述编译平台查询预设编码表,以确定编码器;其中,所述预设编码表用于存储编译平台与其对应的编码器;
利用确定出的编码器编译出所述网络性能测试可执行文件。
本发明实施例提供的网络性能的测试方法,通过在设置预设编码表,以便于利用编译平台进行编码器的查询,在查询到编码器的情况下即可编译出网络性能测试可执行文件,即通过预设编码表的方式提高了网络性能测试的效率。
结合第一方面,在第一方面第二实施方式中,所述根据所述网络性能测试可执行文件以及所述配置参数,对所述被测设备进行网络性能测试,以得到所述被测设备对应于所述配置参数的测试数据,包括:
创建读线程和写线程;
利用所述写线程在所述被测设备上创建临时文件,并将所述配置参数传入所述被测设备,以使得所述被测设备将基于所述配置参数得到的网络性能测试结果存储在所述临时文件中;
利用所述读线程读取所述临时文件中的测试结果存储在目标文件中;
对所述目标文件中的测试结果进行处理,得到所述测试数据。
结合第一方面第二实施方式,在第一方面第三实施方式中,所述对所述目标文件中的测试结果进行处理,得到所述测试数据,包括:
从所述目标文件中筛选出吞吐量数据以及CPU使用率信息;其中,所述吞吐量数据与所述CPU使用率信息一一对应;
基于所述吞吐量数据以及所述CPU使用率信息,形成所述被测设备在所述配置参数下的测试数据。
结合第一方面,或第一方面第一实施方式至第一三实施方式中任一项,在第一方面第四实施方式中,所述方法还包括:
利用所述测试数据,评价所述被测设备在各个所述配置参数下的网络性能;
基于评价结果确定最优的网络性能对应的配置参数。
本发明实施例提供的网络性能的测试方法,在测试数据的基础上通过对被测设备在各个配置参数下的网络性能进行评价,利用评价结果即可确定出最优的网络性能对应的配置参数,可以实现配置参数的自动调优。
根据第二方面,本发明实施例还提供了一种网络性能的测试方法,包括:
接收测试设备导入的网络性能测试可执行文件;其中,所述网络性能测试可执行文件是所述测试设备基于本地的CPU信息编译得到的;
基于所述测试设备传入的配置参数以及所述网络性能测试可执行文件进行网络性能测试,得到对应于所述配置参数的测试数据。
本发明实施例提供的网络性能的测试方法,通过测试设备基于本地的CPU信息编译得到的网络性能测试可执行文件,以及测试设备为被测设备设置的配置参数,进行网络性能测试,该测试方法该测试方法可以避免预支***类型以及***内存,提高了网络性能测试的效率。
结合第二方面,在第二方面第一实施方式中,所述基于所述测试设备传入的配置参数以及所述网络性能测试可执行文件进行网络性能测试,得到对应于所述配置参数的测试数据,包括:
利用所述网络性能可执行文件进行网络性能测试,并将测试结果存储在所述临时文件中;其中,所述临时文件是所述测试设备利用所述写线程在本地创建的;
将所述临时文件中的所述测试结果打印到预设串口中,以使得所述测试设备从所述预设串口中读取所述测试结果。
结合第二方面第一实施方式,在第二方面第二实施方式中,所述将所述临时文件中的所述测试结果打印预设串口中,以使得所述测试设备从所述预设串口中读取所述测试结果,包括:
在所述临时文件中加入时间戳;其中,所述时间戳用于使得所述测试设备验证是否重复读取所述测试数据;
在所述预设串口中添加打印标签并将所述临时文件中的测试结果打印到所述预设串口中。
本发明实施例提供的网络性能的测试方法,被测设备通过在临时文件中加入时间戳,使得测试设备在获取到测试数据之前利用时间戳验证测试数据是否重复,以确定当前所获取到的测试数据之前是否已经获取过,这种处理方式能够避免重复处理测试数据,提高了网络性能测试的效率。
根据第三方面,本发明实施例还提供了一种网络性能的测试装置,包括:
获取模块,用于获取被测设备的CPU信息;
编译平台确定模块,用于利用所述CPU信息确定所述被测设备对应的编译平台;
导入模块,用于基于所述编译平台编译出网络性能测试可执行文件,并将所述网络性能测试可执行文件导入所述被测设备中;其中,网络性能测试可执行文件用于测试网络性能;
设置模块,用于设置所述被测设备的配置参数;其中,所述配置参数包括内核参数以及测试场景标识;同一所述内核参数对应于至少一种测试场景;
第一测试模块,用于根据所述网络性能测试可执行文件以及所述配置参数,对所述被测设备进行网络性能测试,以得到所述被测设备对应于所述配置参数的测试数据。
根据第四方面,本发明实施例还提供了一种网络性能的测试装置,包括:
接收模块,用于接收测试设备导入的网络性能测试可执行文件;其中,所述网络性能测试可执行文件是所述测试设备基于本地的CPU信息编译得到的;
第二测试模块,用于基于所述测试设备传入的配置参数以及所述网络性能测试可执行文件进行网络性能测试,得到对应于所述配置参数的测试数据。
根据第五方面,本发明实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或者第一方面的任意一种实施方式,或第二方面或者第二方面的任意一种实施方式中所述的网络性能的测试方法。
根据第六方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面或者第一方面的任意一种实施方式,或第二方面或者第二方面的任意一种实施方式中所述的网络性能的测试方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a-图1c示出了本发明实施例中网络性能测试的应用场景示意图;
图2是根据本发明实施例的网络性能的测试方法的流程图;
图3是根据本发明实施例的网络性能的测试方法的流程图;
图4是根据本发明实施例的网络性能的测试方法的流程图;
图5是根据本发明实施例的网络性能的测试方法的流程图;
图6是根据本发明实施例的网络性能的测试方法的流程图;
图7是根据本发明实施例的网络性能的测试装置的结构框图;
图8是根据本发明实施例的网络性能的测试装置的结构框图;
图9是本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的网络性能的测试方法用于对被测设备的网络性能进行测试,其中测试设备与被测设备连接,且测试设备为被测设备设置配置参数,包括内核参数以及测试环境。内核参数可以是接收发送设备缓冲区大小,也可以是其他参数。
具体地,图1a-图1c示出了测试设备与被测设备之间的连接示意图,如图1a所示,测试设备与被测设备通过双绞线直连,也可以通过wifi连接到同一个热点,用于测试无线吞吐能力;如图1b所示,测试设备设置在防火墙外,被测设备设置在防火墙内,通过NAT服务器的外网地址对内网地址做映射;如图1c所示,测试设备和被测设备之间是一个复杂的多网段、多路由、多链路转换的网络环境,但是测试设备和被测设备能够ping通。需要说明的是,本发明实施例的应用场景并不限于上述图1a-图1c所示出的连接结构,也可以存在其他连接结构,在此对具体的应用场景并不做任何限制,只需保证测试设备和被测设置之间能够ping通即可。其中,测试设备通过串口连接到被测设备,测试设备所使用的操作***可以是Windows,或Linux,被测设备所使用的操作***可以是Windows,或Linux,当然也可以采用其他操作***。
以对被测设备的UDP和TCP的socket进行网络性能测试为例,测试场景可以包括4种:场景A,UDP的socket上行(相对于被测设备)网络性能测试;场景B:UDP的socket下行(相对于被测设备)网络性能测试;场景C,TCP的socket上行(相对于被测设备)网络性能测试;场景D:TCP的socket下行(相对于被测设备)网络性能测试。其中,被测设备的配置参数可以是对应于同一个内核参数的不同测试场景。例如,内核参数Z1+场景A、内核参数Z1+场景B、内核参数Z1+场景C、内核参数Z1+场景D、内核参数Z2+场景A、内核参数Z2+场景B、内核参数Z3+场景C、内核参数Z4+场景D等等。当然,在具体到每个配置参数,被测设备可以对不同帧长下的网络性能进行测试,例如,在内核参数Z1+场景A下,被测设备分别进行帧长为64、128、256、512、1024、1280、1518下的网络性能测试。可选地,除上文所述的4中测试场景以外,还可以增加测试基于(802.3ad)IEEE 802.3ad Dynamic link aggregation的bond4场景,后续可扩展。
根据本发明实施例,提供了一种网络性能的测试方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种网络性能的测试方法,可用于测试设备中,图2是根据本发明实施例的网络性能的测试方法的流程图,如图2所示,该流程包括如下步骤:
S11,获取被测设备的CPU信息。
其中,所述的CPU信息可以包括物理CPU个数,每个物理CPU中内核个数,逻辑CPU个数以及CPU型号等等。测试设备可以使用串口协议并利用命令行,或采用其他方式获取到被测设备的CPU信息。
S12,利用CPU信息确定被测设备对应的编译平台。
测试设备中可以实现存储有CPU信息与编译平台对应的数据库,或数据列表,通过查找的方式即可确定与CPU信息对应的编译平台。例如,测试设备在获取到CPU信息之后,将CPU信息关联到数据库中,并在数据库中进行编译平台的匹配,以确定编译平台(例如,Linux编译环境)。
S13,基于编译平台编译出网络性能测试可执行文件,并将网络性能测试可执行文件导入被测设备中。
其中,网络性能测试可执行文件用于测试网络性能。
测试设备在确定出的编译平台编译出网络性能测试可执行文件,该网络性能测试可执行文件可以利用iperf的开源代码实现,或其他网络性能测试工具的开源代码实现。
测试设备在编译出网络性能测试可执行文件之后,可以利用传输协议将其导入被测设备中。其中,所述的传输协议支持FTP、SSH、sambaa上传,具体通过哪种方式进行上传可以根据实际情况进行具体设置,在此并不做任何限制。
S14,设置被测设备的配置参数。
其中,所述配置参数包括内核参数以及测试场景标识;同一所述内核参数对应于至少一种测试场景。例如,可以采用表1的形式表示出配置参数:
表1配置参数
内核参数 | 测试场景标识 | |
配置参数1 | Z1 | A |
配置参数2 | Z1 | B |
配置参数3 | Z1 | C |
配置参数4 | Z1 | D |
配置参数5 | Z2 | A |
配置参数6 | Z2 | B |
配置参数7 | Z2 | C |
配置参数8 | Z2 | D |
表1中示出了8组配置参数,每组配置参数包括内核参数以及测试场景标识,其中测试场景A-D的详细描述请参见上文。测试设备每次为被测设备设置一组配置参数,以使得被测设备基于配置参数进行相关的配置。在一组配置参数对应的网络性能测试完成之后,得到对应的测试数据;再测试设备再为被测设备设置另一组配置参数,继续进行网络性能层的测试;如此循环,直至所有的配置参数全部设置完成为止。
其中,可以在测试设备中通过一个总控脚本对被测设备的UDP和TCP的socket进行网络性能测试,分别对场景A、场景B、场景C以及场景D进行网络性能测试。总控脚本对实施脚本设置不同的参数,让实施脚本执行场景A、场景B、场景C和场景D。
需要说明的是,虽然表1中示出了8组配置参数,但是实际配置参数的设置可以根据实际情况进行具体设置,并不限于表1中所述的8组配置参数。
S15,根据网络性能测试可执行文件以及配置参数,对被测设备进行网络性能测试,以得到被测设备对应于配置参数的测试数据。
测试设备将S14中的配置参数传入被测设备中,以使得被测设备基于配置参数进行配置,并利用网络性能测试可执行文件进行网络性能的测试,从而得到对应于该配置参数的测试数据。
在一组配置参数对应的网络性能测试完成之后,进行下一组配置参数的网络性能测试,直至所述所有配置参数全部测试完成。
本实施例提供的网络性能的测试方法,通过获取被测设备的CPU信息,基于所获取到的CPU信息可以编译出与被测设备对应的网络性能测试可执行文件,同时为被测设备设置配置参数,以使得被测设备利用该网络性能测试可执行文件在配置参数下进行网络性能测试,该测试方法可以避免预支***类型以及***内存,提高了网络性能测试的效率。
在本实施例中提供了一种网络性能的测试方法,可用于测试设备中,图3是根据本发明实施例的网络性能的测试方法的流程图,如图3所示,该流程包括如下步骤:
S21,获取被测设备的CPU信息。
详细请参见图2所示实施例的S11,在此不再赘述。
S22,利用CPU信息确定被测设备对应的编译平台。
详细请参见图2所示实施例的S12,在此不再赘述。
S23,基于编译平台编译出网络性能测试可执行文件,并将网络性能测试可执行文件导入被测设备中。
其中,网络性能测试可执行文件用于测试网络性能。
具体地,上述S23包括以下步骤:
S231,利用编译平台查询预设编码表,以确定编码器。
其中,所述预设编码表用于存储编译平台与其对应的编码器。
预设编码表的形式可以是数据库,也可以是数据列表,在此对其具体形式并不做任何限制。测试设备在S22中确定出编译平台之后,通过查表方式确定与编译平台对应的编码器。
S232,利用确定出的编码器编译出网络性能测试可执行文件。
测试设备确定出编码器之后,利用该编码器即可自动编译出适用于被测设备的二进制可执行文件。例如,编码器可以基于iperf开源代码编译出iperf二进制可执行程序文件。
S24,设置被测设备的配置参数。
其中,所述配置参数包括内核参数以及测试场景标识;同一内核参数对应于至少一种测试场景。
详细请参见图2所示实施例的S14,在此不再赘述。
S25,根据网络性能测试可执行文件以及配置参数,对被测设备进行网络性能测试,以得到被测设备对应于配置参数的测试数据。
具体地,上述S25包括以下步骤:
S251,创建读线程和写线程。
测试设备创建2个线程,一个线程用于串口写的控制,即写线程;另一个线程用于串口读的控制,即读线程。写线程主要是用于服务器对设备发送控制指令,读线程主要是对记录服务对被测设备发送指令以及发送指令后的响应做记录操作。
S252,利用写线程在被测设备上创建临时文件,并将配置参数传入被测设备,以使得被测设备将基于配置参数得到的网络性能测试结果存储在临时文件中。
测试设备利用写线程在被测设备的指定路径下创建临时文件用于记录网络性能测试结果。
S253,利用读线程读取临时文件中的测试结果存储在目标文件中。
被测设备在配置参数的配置下,利用网络性能可执行文件对网络性能进行测试,得到该配置参数对应的测试结果。那么,测试设备利用读线程从被测设备中读取临时文件中的测试结果,并读取出的测试结果存储在目标文件中。
S254,对目标文件中的测试结果进行处理,得到测试数据。
测试结果所读取出的测试结果为被测设备在不同配置参数下的网络性能参数,其中所述的网络性能参数可以是吞吐量,也可以是CPU使用率等等。测试设备可以将同一配置参数下的多个测试结果中的各个参数进行均值或中值计算,以确定出各个参数的测试数据;当然也可以采用其他方式进行处理。
本实施例提供的网络性能的测试方法,通过在设置预设编码表,以便于利用编译平台进行编码器的查询,在查询到编码器的情况下即可编译出网络性能测试可执行文件,即通过预设编码表的方式提高了网络性能测试的效率。
作为本实施例的上述S254的一种可选实施方式,上述S254包括:
(1)从目标文件中筛选出吞吐量数据以及CPU使用率信息。
其中,所述吞吐量数据与所述CPU使用率信息一一对应。
具体地,测试设备利用关键字段从目标文件中筛选出吞吐量数据,以及CPU使用率信息。吞吐量数据以及CPU使用率信息是在同一配置参数下的,且一一对应的。
例如,测试设备将筛选出的吞吐量数据存储在文件1中,将筛选出的CPU使用率信息存储在文件2中,其中,文件1和文件2中的数据信息是一一对应的;再进一步地,测试设备可以利用文件2计算CPU平均使用率,并将计算结果存储在文件3中。
(2)基于吞吐量数据以及CPU使用率信息,形成被测设备在配置参数下的测试数据。
例如,测试设备可以利用吞吐量数据以及CPU使用率信息生成一个excel的数据表单,用于记录统计出来的测试结果含吞吐量数据以及CPU使用率信息。
作为上述S254的一个具体应用实例,测试设备从被测设备中读取测试数据存储在目标文件中;将目标文件中关于iperf执行的吞吐量结果筛选出来保存在文件1中,文件1也是一个全路径文件;将目标文件中关于CPU使用率的结果筛选出来保存在文件2中,文件2也是一个全路径;其中文件1和文件2中记录的信息条数是对等的;将文件2中记录的CPU使用率信息,提取出需要统计的字段,例如:总CPU使用率,用户CPU使用率,***CPU使用率,nic的CPU使用率,空闲CPU使用率,IO的CPU使用率,硬中端CPU使用率,以及软中断CPU使用率,并存储在文件3中,文件3也是一个全路径文件;最终根据文件1和文件3的内容生成一个excel的数据表单(记录统计出来的测试结果含吞吐量数据、CPU的详细数据)。目标文件是Iperf执行过程中全部日志收集文件全路径的变量;文件1是收集记录吞吐量的数据文件全路径的变量;文件2是Iperf执行过程中CPU未经数据处理的打印信息文件全路径的变量;文件3是CPU精提取的数据信息文件全路径的变量;文件4是最终含各调优参数各协议上行、下行、不同帧长下的吞吐、抖动、CPU使用率的图表。
作为本实施例的一种可选实施方式,在上述S25之后还包括:
(1)利用测试数据,评价被测设备在各个配置参数下的网络性能。
对网络性能的评价方法可以采用打分的形式,例如,配置参数1对应的网络性能参数有吞吐量50%,CPU使用率80%;配置参数2对应的网络性能参数有吞吐量70%,CPU使用率70%;配置参数3对应的网络性能参数有吞吐量90%,CPU使用率85%。在对各个配置参数下的网络性能进行打分时可以采用如下方式表示:
配置参数1对应的网络性能=a1*50%+a2*80%;
配置参数2对应的网络性能=a1*70%+a2*70%;
配置参数3对应的网络性能=a1*90%+a2*85%。
其中,a1以及a2分别为吞吐量以及CPU使用率对应的权重,具体数值可以根据实际情况进行具体设置,且当网络性能参数有多个时,可以参照上述方式进行打分。
当然,也可以采用其他方式对网络性能进行评价,上文所述的仅仅是一种可选的实施方式,并不是唯一的实施方式。
(2)基于评价结果确定最优的网络性能对应的配置参数。
测试设备在得到各个配置参数下网络性能的评价结果以后,可以对评价结果进行排序,或进行比较,以确定出最优的网络性能对应的配置参数,后续在对被测参数进行配置时就可以采用该配置参数,以获得最优的网络性能。
在本实施例中提供了一种网络性能的测试方法,可用于被测设备中,图4是根据本发明实施例的网络性能的测试方法的流程图,如图4所示,该流程包括如下步骤:
S31,接收测试设备导入的网络性能测试可执行文件。
其中,所述网络性能测试可执行文件是所述测试设备基于本地的CPU信息编译得到的。
该步骤与图2所示实施例的13或图3所示实施例的S23对应,在此不再赘述。
S32,基于测试设备传入的配置参数以及网络性能测试可执行文件进行网络性能测试,得到对应于配置参数的测试数据。
该步骤与图2所示实施例的S14或图3所示实施例的S24对应,详细请参见图2或图3的相关描述。
例如,被测设备利用总控脚本传入的参数判断被测设备在本次测试中是作为服务端还是作为客户端,从而可以确定此时进行的是上行网络性能测试,还是下行网络性能测试。若被测设备利用传入的参数确定其是作为客户端,那么对应的测试设备就是作为服务端,此时进行的就是上行网络性能测试;反之,若被测设备作为服务端,测试设备作为客户端,此时进行的就是下行网络性能测试。
具体在进行网络性能测试时,由于TCP是滑动窗口机制,为不会丢包的安全连接,其测试过程可以直接得到吞吐,而UDP是无连接无状态的机制,所以需要通过指定带宽在持续一段时间内去观察它是否丢包,例如可以通过二分法和步进法去得到UDP包的吞吐。例如,被测设备创建两个进程,即Top进程以及iperf进程,其中Top进程用于获取CPU使用率信息,而iperf进程用于获取吞吐量。
本实施例提供的网络性能的测试方法,
在本实施例中提供了一种网络性能的测试方法,可用于被测设备中,图5是根据本发明实施例的网络性能的测试方法的流程图,如图5所示,该流程包括如下步骤:
S41,接收测试设备导入的网络性能测试可执行文件。
其中,所述网络性能测试可执行文件是所述测试设备基于本地的CPU信息编译得到的。
详细请参见图4所示实施例的S31,在此不再赘述。
S42,基于测试设备传入的配置参数以及网络性能测试可执行文件进行网络性能测试,得到对应于配置参数的测试数据。
具体地,该步骤包括:
S421,利用网络性能可执行文件进行网络性能测试,并将测试结果存储在临时文件中。
其中,所述临时文件是所述测试设备利用所述写线程在本地创建的。
被测设备在对应于一组配置参数的网络性能测试完成之后,杀死设备中记录CPU信息的top进程,杀死设备中和服务器中的Iperf进程,以用于下一次的网络性能测试。
其余详细请参见图3所示实施例的S252,在此不再赘述。
S422,将临时文件中的测试结果打印到预设串口中,以使得测试设备从预设串口中读取测试结果。
被测设备将测试结果输出至预设串口,测试设备利用串口协议就可以从该预设串口中读取出测试结果。
作为上述S422的一种可选实施方式,上述S422包括:
(1)在临时文件中加入时间戳。
其中,所述时间戳用于使得所述测试设备验证是否重复读取所述测试数据。
被测设备在临时文件中加入时间戳,该时间戳可以用***时间表示。后续测试设备在读取到测试结果之后,利用先时间戳判断该测试结果是否已经获取到,以避免同一测试结果的重复处理。
(2)在预设串口中添加打印标签并将临时文件中的测试结果打印到预设串口中。
被测设备在串口打印中添加即将打印的打印标签,然后将临时文件中的内容打印到预设串口中,通过目标文件从预设串口中回收测试结果,关闭主进程的串口功能。
作为网络性能的测试方法的一个具体应用实例,如图6所示,所述方法包括:
S501,测试设备获取被测设备的CPU信息。详细请参见图2所示实施例的S11,在此不再赘述。
S502,测试设备利用CPU信息确定被测设备对应的编译平台。详细请参见图2所示实施例的S12,在此不再赘述。
S503,测试设备基于编译平台编译出网络性能测试可执行文件,并将网络性能测试可执行文件导入所述被测设备中。详细请参见图3所示实施例的S23,在此不再赘述。
S504,测试设备设置被测设备的配置参数。详细请参见图3所示实施例的S24,在此不再赘述。
S505,测试设备创建读线程和写线程。详细请参见图3所示实施例的S251,在此不再赘述。
S506,测试设备利用写线程在被测设备上创建临时文件,并将配置参数传入被测设备,以使得被测设备将基于配置参数得到的网络性能测试结果存储在临时文件中。详细请参见图3所示实施例的S252,在此不再赘述。
S507,被测设备利用网络性能可执行文件进行网络性能测试,并将测试结果存储在临时文件中。详细请参见图5所示实施例的S422,在此不再赘述。
S508,被测设备将临时文件中的测试结果打印到预设串口中,以使得测试设备从预设串口中读取测试结果。详细请参见图3所示实施例的S423,在此不再赘述。
S509,测试设备利用读线程读取临时文件中的测试结果存储在目标文件中。详细请参见图3所示实施例的S253,在此不再赘述。
S510,测试设备对目标文件中的测试结果进行处理,得到测试数据。详细请参见图3所示实施例的S254,在此不再赘述。
S511,测试设备利用测试数据,评价被测设备在各个配置参数下的网络性能。详细请参见图3所示实施例中S25之后的步骤(1)。
S512,测试设备基于评价结果确定最优的网络性能对应的配置参数。详细请参见图3所示实施例中S25之后的步骤(2)。
本实施例提供的网络性能的测试方法,实施场景简单,不需要执行者掌握过多的专业网络知识,可以实现傻瓜操作,不仅如此,还能大大提高生产效率,而且使用开源软件Iperf,不仅成本低,而且测试数据可信度高,可移植性强的特征,更为突出的是能节约大量的时间提供性能调优数据,使网络设备具有最大的网络性能能力。
在本实施例中还提供了一种网络性能的测试装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种网络性能的测试装置,用于测试设备中,如图7所示,所述网络性能的测试装置包括:
获取模块61,用于获取被测设备的CPU信息;
编译平台确定模块62,用于利用所述CPU信息确定所述被测设备对应的编译平台;
导入模块63,用于基于所述编译平台出网络性能测试可执行文件,并将所述网络性能测试可执行文件导入所述被测设备中;其中,网络性能测试可执行文件用于测试网络性能;
设置模块64,用于设置所述被测设备的配置参数;其中,所述配置参数包括内核参数以及测试场景标识;同一所述内核参数对应于至少一种测试场景;
第一测试模块65,用于根据所述网络性能测试可执行文件以及所述配置参数,对所述被测设备进行网络性能测试,以得到所述被测设备对应于所述配置参数的测试数据。
本实施例还提供一种网络性能的测试装置,用于被测设备中,如图8所示,所述网络性能的测试装置包括:
接收模块71,用于接收测试设备导入的网络性能测试可执行文件;其中,所述网络性能测试可执行文件是所述测试设备基于本地的CPU信息编译得到的;
第二测试模块72,用于基于所述测试设备传入的配置参数以及所述网络性能测试可执行文件进行网络性能测试,得到对应于所述配置参数的测试数据。
本实施例中的网络性能的测试装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本发明实施例还提供一种电子设备,例如上述的测试设备,或被测设备,具有上述图7或8所示的网络性能的测试装置。
请参阅图9,图9是本发明可选实施例提供的一种电子设备的结构示意图,如图9所示,该电子设备可以包括:至少一个处理器81,例如CPU(Central Processing Unit,中央处理器),至少一个通信接口83,存储器84,至少一个通信总线82。其中,通信总线82用于实现这些组件之间的连接通信。其中,通信接口83可以包括显示屏(Display)、键盘(Keyboard),可选通信接口83还可以包括标准的有线接口、无线接口。存储器84可以是高速RAM存储器(Random Access Memory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器84可选的还可以是至少一个位于远离前述处理器81的存储装置。其中处理器81可以结合图7或8所描述的装置,存储器84中存储应用程序,且处理器81调用存储器84中存储的程序代码,以用于执行上述任一方法步骤。
其中,通信总线82可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。通信总线82可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器84可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard diskdrive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器84还可以包括上述种类的存储器的组合。
其中,处理器81可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。
其中,处理器81还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic arraylogic,缩写:GAL)或其任意组合。
可选地,存储器84还用于存储程序指令。处理器81可以调用程序指令,实现如本申请图2或3实施例中所示的网络性能的测试方法,或本申请图4或5实施例中所示的网络性能的测试方法。
本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的网络性能的测试方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard DiskDrive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (12)
1.一种网络性能的测试方法,其特征在于,包括:
获取被测设备的CPU信息;
利用所述CPU信息确定所述被测设备对应的编译平台;
基于所述编译平台编译出网络性能测试可执行文件,并将所述网络性能测试可执行文件导入所述被测设备中;其中,网络性能测试可执行文件用于测试网络性能;
设置所述被测设备的配置参数;其中,所述配置参数包括内核参数以及测试场景标识;同一所述内核参数对应于至少一种测试场景;
根据所述网络性能测试可执行文件以及所述配置参数,对所述被测设备进行网络性能测试,以得到所述被测设备对应于所述配置参数的测试数据。
2.根据权利要求1所述的方法,其特征在于,所述基于所述编译平台编译出网络性能测试可执行文件,包括:
利用所述编译平台查询预设编码表,以确定编码器;其中,所述预设编码表用于存储编译平台与其对应的编码器;
利用确定出的编码器编译出所述网络性能测试可执行文件。
3.根据权利要求1所述的方法,其特征在于,所述根据所述网络性能测试可执行文件以及所述配置参数,对所述被测设备进行网络性能测试,以得到所述被测设备对应于所述配置参数的测试数据,包括:
创建读线程和写线程;
利用所述写线程在所述被测设备上创建临时文件,并将所述配置参数传入所述被测设备,以使得所述被测设备将基于所述配置参数得到的网络性能测试结果存储在所述临时文件中;
利用所述读线程读取所述临时文件中的测试结果存储在目标文件中;
对所述目标文件中的测试结果进行处理,得到所述测试数据。
4.根据权利要求3所述的方法,其特征在于,所述对所述目标文件中的测试结果进行处理,得到所述测试数据,包括:
从所述目标文件中筛选出吞吐量数据以及CPU使用率信息;其中,所述吞吐量数据与所述CPU使用率信息一一对应;
基于所述吞吐量数据以及所述CPU使用率信息,形成所述被测设备在所述配置参数下的测试数据。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
利用所述测试数据,评价所述被测设备在各个所述配置参数下的网络性能;
基于评价结果确定最优的网络性能对应的配置参数。
6.一种网络性能的测试方法,其特征在于,包括:
接收测试设备导入的网络性能测试可执行文件;其中,所述网络性能测试可执行文件是所述测试设备基于本地的CPU信息编译得到的;
基于所述测试设备传入的配置参数以及所述网络性能测试可执行文件进行网络性能测试,得到对应于所述配置参数的测试数据。
7.根据权利要求6所述的方法,其特征在于,基于所述测试设备传入的配置参数以及所述网络性能测试可执行文件进行网络性能测试,得到对应于所述配置参数的测试数据,包括:
利用所述网络性能可执行文件进行网络性能测试,并将测试结果存储在所述临时文件中;其中,所述临时文件是所述测试设备利用所述写线程在本地创建的;
将所述临时文件中的所述测试结果打印到预设串口中,以使得所述测试设备从所述预设串口中读取所述测试结果。
8.根据权利要求7所述的方法,其特征在于,所述将所述临时文件中的所述测试结果打印预设串口中,以使得所述测试设备从所述预设串口中读取所述测试结果,包括:
在所述临时文件中加入时间戳;其中,所述时间戳用于使得所述测试设备验证是否重复读取所述测试数据;
在所述预设串口中添加打印标签并将所述临时文件中的测试结果打印到所述预设串口中。
9.一种网络性能的测试装置,其特征在于,包括:
获取模块,用于获取被测设备的CPU信息;
编译平台确定模块,用于利用所述CPU信息确定所述被测设备对应的编译平台;
导入模块,用于基于所述编译平台编译出网络性能测试可执行文件,并将所述网络性能测试可执行文件导入所述被测设备中;其中,网络性能测试可执行文件用于测试网络性能;
设置模块,用于设置所述被测设备的配置参数;其中,所述配置参数包括内核参数以及测试场景标识;同一所述内核参数对应于至少一种测试场景;
第一测试模块,用于根据所述网络性能测试可执行文件以及所述配置参数,对所述被测设备进行网络性能测试,以得到所述被测设备对应于所述配置参数的测试数据。
10.一种网络性能的测试装置,其特征在于,包括:
接收模块,用于接收测试设备导入的网络性能测试可执行文件;其中,所述网络性能测试可执行文件是所述测试设备基于本地的CPU信息编译得到的;
第二测试模块,用于基于所述测试设备传入的配置参数以及所述网络性能测试可执行文件进行网络性能测试,得到对应于所述配置参数的测试数据。
11.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-5中任一项,或权利要求6-7中任一项所述的网络性能的测试方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1-5中任一项,或权利要求6-7中任一项所述的网络性能的测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911096801.1A CN110855520B (zh) | 2019-11-11 | 2019-11-11 | 网络性能的测试方法和测试装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911096801.1A CN110855520B (zh) | 2019-11-11 | 2019-11-11 | 网络性能的测试方法和测试装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110855520A true CN110855520A (zh) | 2020-02-28 |
CN110855520B CN110855520B (zh) | 2022-03-04 |
Family
ID=69601248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911096801.1A Active CN110855520B (zh) | 2019-11-11 | 2019-11-11 | 网络性能的测试方法和测试装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110855520B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527574A (zh) * | 2020-11-19 | 2021-03-19 | 山东云海国创云计算装备产业创新中心有限公司 | 一种处理器测试方法、装置、设备及可读存储介质 |
CN114338492A (zh) * | 2021-12-31 | 2022-04-12 | 苏州浪潮智能科技有限公司 | 虚拟网络性能的测试方法、装置、计算机设备及介质 |
CN114697241A (zh) * | 2022-04-07 | 2022-07-01 | 机械工业仪器仪表综合技术经济研究所 | 一种端到端的时延测试***及方法 |
CN114780463A (zh) * | 2022-03-01 | 2022-07-22 | 阿里巴巴(中国)有限公司 | 中断控制方法、设备、分布式***及存储介质 |
CN116170354A (zh) * | 2023-02-28 | 2023-05-26 | 重庆长安汽车股份有限公司 | 网络性能测试方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7222255B1 (en) * | 2001-02-28 | 2007-05-22 | 3Com Corporation | System and method for network performance testing |
CN102521135A (zh) * | 2011-12-31 | 2012-06-27 | 曙光信息产业股份有限公司 | 线性***的测试方法和装置 |
CN106708818A (zh) * | 2015-07-17 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 一种压力测试方法和*** |
CN108958992A (zh) * | 2017-05-18 | 2018-12-07 | 北京京东尚科信息技术有限公司 | 测试方法和装置 |
-
2019
- 2019-11-11 CN CN201911096801.1A patent/CN110855520B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7222255B1 (en) * | 2001-02-28 | 2007-05-22 | 3Com Corporation | System and method for network performance testing |
CN102521135A (zh) * | 2011-12-31 | 2012-06-27 | 曙光信息产业股份有限公司 | 线性***的测试方法和装置 |
CN106708818A (zh) * | 2015-07-17 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 一种压力测试方法和*** |
CN108958992A (zh) * | 2017-05-18 | 2018-12-07 | 北京京东尚科信息技术有限公司 | 测试方法和装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527574A (zh) * | 2020-11-19 | 2021-03-19 | 山东云海国创云计算装备产业创新中心有限公司 | 一种处理器测试方法、装置、设备及可读存储介质 |
CN112527574B (zh) * | 2020-11-19 | 2023-03-21 | 山东云海国创云计算装备产业创新中心有限公司 | 一种处理器测试方法、装置、设备及可读存储介质 |
CN114338492A (zh) * | 2021-12-31 | 2022-04-12 | 苏州浪潮智能科技有限公司 | 虚拟网络性能的测试方法、装置、计算机设备及介质 |
CN114338492B (zh) * | 2021-12-31 | 2023-08-25 | 苏州浪潮智能科技有限公司 | 虚拟网络性能的测试方法、装置、计算机设备及介质 |
CN114780463A (zh) * | 2022-03-01 | 2022-07-22 | 阿里巴巴(中国)有限公司 | 中断控制方法、设备、分布式***及存储介质 |
CN114697241A (zh) * | 2022-04-07 | 2022-07-01 | 机械工业仪器仪表综合技术经济研究所 | 一种端到端的时延测试***及方法 |
CN114697241B (zh) * | 2022-04-07 | 2023-09-12 | 机械工业仪器仪表综合技术经济研究所 | 一种端到端的时延测试***及方法 |
CN116170354A (zh) * | 2023-02-28 | 2023-05-26 | 重庆长安汽车股份有限公司 | 网络性能测试方法、装置、设备及介质 |
CN116170354B (zh) * | 2023-02-28 | 2024-05-14 | 重庆长安汽车股份有限公司 | 网络性能测试方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110855520B (zh) | 2022-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110855520B (zh) | 网络性能的测试方法和测试装置、电子设备及存储介质 | |
Kakhki et al. | Taking a long look at QUIC: an approach for rigorous evaluation of rapidly evolving transport protocols | |
CN111327471B (zh) | 网络质量分析方法、装置、计算机设备及存储介质 | |
CN112714047B (zh) | 基于工控协议流量的测试方法、装置、设备及存储介质 | |
US20150131445A1 (en) | Similarity matching method and related device and communication system | |
US11671341B2 (en) | Network monitoring method and network monitoring apparatus | |
CN113141281B (zh) | 一种fpga加速器、网络参数测量***、方法及介质 | |
US20160373334A1 (en) | Methods, systems, and computer readable media for microburst testing | |
US10123190B2 (en) | System and method for testing a CoAP server | |
CN107992416B (zh) | 一种网页时延的确定方法及装置 | |
CN115037700A (zh) | 一种复杂网络数据包传送方法、***、终端及存储介质 | |
CN112335203B (zh) | 处理局域网诊断数据 | |
WO2013026350A1 (zh) | 一种***性能评估方法及装置 | |
CN110647417A (zh) | 能源互联网异常数据处理方法、装置及*** | |
US9979793B2 (en) | Methods and systems for sending and receiving information data | |
CN106254098B (zh) | 一种调试数据采集方法、***以及嵌入式无线*** | |
CN111290901A (zh) | 一种存储节点性能优化的方法、装置、设备及存储介质 | |
CN111522642B (zh) | 风电机组状态监测数据的获取方法、查询方法及电子设备 | |
Toll et al. | IoTreeplay: Synchronous Distributed Traffic Replay in IoT Environments | |
CN109639528A (zh) | 一种日志接收性能的测试方法及装置 | |
CN115243314B (zh) | WiFi场景的应用质量诊断分析方法与*** | |
EP4336883A1 (en) | Modeling method, network element data processing method and apparatus, electronic device, and medium | |
CN116820864B (zh) | 板卡多功能测试方法、装置、电子设备及存储介质 | |
TWI704784B (zh) | 通聯監控裝置、通聯監控方法及其非暫態有形機器可讀介質 | |
WO2023174287A1 (zh) | 一种时延分析方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |