一种服务器内存带宽测试的方法及装置与流程

文档序号:11250754阅读:442来源:国知局
一种服务器内存带宽测试的方法及装置与流程

本发明涉及测试领域,特别是涉及一种服务器内存带宽测试的方法及装置。



背景技术:

随着信息技术的迅猛发展,服务器架构设计也越来越复杂,使得服务器内存带宽的测试变得困难。

基于服务器复杂的系统架构和并行化的计算方式,一般使用streambenchmark测试工具进行内存带宽的测试。其首先可以给定已知规模的数据量a,按照既定规则对内存带宽进行运算,统计花费的时间t,然后使用数据量a除以时间t,得到的值即为内存带宽b,即b=a/t。可以看出,内存带宽b与数据量a和测试时间t有关,而当a值固定时,测试时间t与开启的线程数量有关。因此,若要得到最好的内存带宽测试值,可以设置不同的a值和线程数量,反复进行测试,以得出最优值。

但是,现有使用人工方式,设置不同的数据量a和线程数量,反复进行测试,从而使得内存带宽测试的过程需要耗费大量人力,且测试效率低下。



技术实现要素:

本发明的目的是提供一种服务器内存带宽测试的方法及装置,目的在于解决现有技术中使用人工方式测试内存带宽导致的效率低下的问题。

为解决上述技术问题,本发明提供一种服务器内存带宽测试的方法,该方法包括:

利用参数配置脚本,自动生成测试参数序列;

根据所述测试参数序列,利用测试脚本,自动运行steam可执行文件,得出测试结果。

可选地,所述利用参数配置脚本,自动生成测试参数序列包括:

获取服务器的配置信息;

利用所述参数配置脚本,基于所述配置信息,自动生成所述测试参数序列。

可选地,所述利用参数配置脚本,自动生成测试参数序列包括:

获取包含预设置参数序列的配置文件;

利用所述参数配置脚本,对所述配置文件进行解析,得出所述测试参数序列。

可选地,在所述根据所述测试参数序列,利用测试脚本,自动运行steam可执行文件,得出测试结果之后还包括:

截取所述测试结果的关键信息;

根据所述关键信息所包含的测试结果数值的大小,将所述测试结果进行排序;

以预设输出方式,输出最大测试结果数值对应的测试参数。

可选地,在所述利用参数配置脚本,自动生成测试参数序列之前还包括:

运行检测脚本,检测当前系统内是否配置yum服务器,检测当前系统内是否具备stream内存测试所需软件;

若否,自动配置所述yum服务器,自动安装所需软件。

此外,本发明还提供了一种服务器内存带宽测试的装置,该装置包括:

参数序列生成模块,用于利用参数配置脚本,自动生成测试参数序列;

自动测试模块,用于根据所述测试参数序列,利用测试脚本,自动运行steam可执行文件,得出测试结果。

可选地,所述参数序列生成模块包括:

配置信息获取单元,用于获取服务器的配置信息;

生成单元,用于利用所述参数配置脚本,基于所述配置信息,自动生成所述测试参数序列。

可选地,所述参数序列生成模块包括:

配置文件获取单元,用于获取包含预设置参数序列的配置文件;

解析单元,用于利用所述参数配置脚本,对所述配置文件进行解析,得出所述测试参数序列。

可选地,还包括:

截取模块,用户截取所述测试结果的关键信息;

排序模块,用于根据所述关键信息所包含的测试结果数值的大小,将所述测试结果进行排序;

输出模块,用于以预设输出方式,输出最大测试结果数值对应的测试参数。

可选地,还包括:

检测模块,用于运行检测脚本,检测当前系统内是否配置yum服务器,检测当前系统内是否具备stream内存测试所需软件;

配置模块,用于若否,自动配置所述yum服务器,自动安装所需软件。

本发明所提供的一种服务器内存带宽测试的方法及装置,通过利用参数配置脚本,自动生成测试参数序列;根据所述测试参数序列,利用测试脚本,自动运行steam可执行文件,得出测试结果。本申请通过编写测试脚本,按照测试参数序列,自动运行测试文件,即自动完成内存带宽测试,不用人工参与,实现完全自动化,从而不用耗费人力成本,且相较于人工方式测试,自动测试的效率更高,且降低了测试人员的门槛。可见,本申请提高了内存带宽测试的效率。

附图说明

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

图1为本发明实施例所提供的服务器内存带宽测试方法的一种具体实施方式的流程示意图;

图2为本发明实施例所提供的服务器内存带宽测试装置的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参见图1,图1为本发明实施例所提供的服务器内存带宽测试方法的一种具体实施方式的流程示意图,该方法包括以下步骤:

步骤101:利用参数配置脚本,自动生成测试参数序列;

需要说明的是,测试参数序列可以是指测试参数的先后测试顺序队列。而测试参数可以是指数据量a和线程数量,此时,测试参数序列可以是指不同的数据量a和线程数量数值,按照一定排列顺序,得出的序列。

上述参数配置脚本可以用于生成或读取测试参数序列的脚本,即测试参数序列可以预先配置,生成配置文件,参数配置脚本可以对配件文件进行解析,得出测试参数序列;也可以获取服务器的配置信息,参数配置脚本基于配置信息,来自动生成测试参数序列。

作为一种具体实施方式,上述利用参数配置脚本,自动生成测试参数序列的过程可以具体为:获取服务器的配置信息;利用所述参数配置脚本,基于所述配置信息,自动生成所述测试参数序列。

可以理解的是,上述配置信息可以是指服务器的内存配置信息,例如,服务器的内存容量以及cpu配置等相关信息。具体地,配置信息的获取可以通过调用软件来获取。

可以看出,利用脚本,来生成测试参数序列,不用人工输入设置参数,使得内存带宽测试更加便捷,提高了内存带宽测试的效率。

作为一种具体实施方式,上述利用参数配置脚本,自动生成测试参数序列的过程还可以具体为:获取包含预设置参数序列的配置文件;利用所述参数配置脚本,对所述配置文件进行解析,得出所述测试参数序列。

需要说明的是,上述配置文件中有预先设置的参数序列,参数配置脚本可以对配置文件解析,读取所需的参数序列。

可以看出,利用脚本,自动获取测试参数序列,不用人工输入设置参数,使得内存带宽测试更加便捷,提高了内存带宽测试的效率。

步骤102:根据所述测试参数序列,利用测试脚本,自动运行stream可执行文件,得出测试结果。

具体地,利用测试脚本,来控制测试参数的使用顺序,依次自动编译和运行stream可执行文件,得出相应的测试结果。更具体地,测试脚本可以通过循环嵌套方式对测试参数的使用顺序进行控制。

需要说明的是,可以将stream测试工具、源代码编译工具、工具运行环境以及预先编写的脚本全集成至一个autostream.tar.gz文件,以此实现stream内存带宽自动测试。

可以理解的是,可以将测试结果存储至日志文件中,且可以从测试结果中,选取出最优的测试参数方案,输出给用户。

本发明实施例所提供的服务器内存带宽测试方法,通过利用参数配置脚本,自动生成测试参数序列;根据所述测试参数序列,利用测试脚本,自动运行steam可执行文件,得出测试结果。该方法通过编写测试脚本,按照测试参数序列,自动运行测试文件,即自动完成内存带宽测试,不用人工参与,实现完全自动化,从而不用耗费人力成本,且相较于人工方式测试,自动测试的效率更高。

基于上述技术方案,在上述根据所述测试参数序列,利用测试脚本,自动运行steam可执行文件,得出测试结果之后还可以包括:截取所述测试结果的关键信息;根据所述关键信息所包含的测试结果数值的大小,将所述测试结果进行排序;以预设输出方式,输出最大测试结果数值对应的测试参数。

需要说明的是,上述关键信息可以包含测试结果数值等相关信息。基于测试结果数值的大小,可以选取最大测试结果数值作为最优测试方案,则其对应的测试参数即为最优测试参数。

具体地,可以读取用于存储测试结果的日志文件,接着截取测试结果的关键信息,再基于测试结果数值的大小,选取出最优的测试参数,输出至屏幕。

可以理解的是,可以根据测试参数的不同,将相应测试结果存储至不同的日志文件中,且日志文件可以用测试参数的值进行标识,从而区分各个日志文件所存储的测试结果。

作为一种具体实施方式,在上述利用参数配置脚本,自动生成测试参数序列之前还可以包括:运行检测脚本,检测当前系统内是否配置yum服务器,检测当前系统内是否具备stream内存测试所需软件;若否,自动配置所述yum服务器,自动安装所需软件。

需要说明的是,上述检测脚本可以包括用于软件检测的程序、用于yum服务器配置的程序以及用于软件安装的程序。

上述软件为stream内存带宽测试工具编译和运行过程中所必须的软件,以及相应脚本运行所需调用的软件。

上述yum服务器的具体配置过程可以为:如果检测到当前操作系统内没有配置有yum服务器,则要求用户上述系统镜像,接着自动配置yum服务器。

可以看出,利用autostream.tar.gz文件,自动检测内存带宽测试所需的编译环境和运行环境,减少了操作人员手动配置运行编译环境的过程。

本发明实施例所提供的服务器内存带宽测试方法,对测试结果进行分析排序,输出最优的测试参数方案,提高了内存带宽测试效率。

下面对本发明实施例提供的服务器内存带宽测试装置进行介绍,下文描述的服务器内存带宽测试装置与上文描述的服务器内存带宽测试方法可相互对应参照。

图2为本发明实施例所提供的服务器内存带宽测试装置的结构框图,参照图2服务器内存带宽测试装置可以包括:

参数序列生成模块21,用于利用参数配置脚本,自动生成测试参数序列;

自动测试模块22,用于根据测试参数序列,利用测试脚本,自动运行steam可执行文件,得出测试结果。

可选地,上述参数序列生成模块包括:

配置信息获取单元,用于获取服务器的配置信息;

生成单元,用于利用参数配置脚本,基于配置信息,自动生成所述测试参数序列。

可选地,上述参数序列生成模块包括:

配置文件获取单元,用于获取包含预设置参数序列的配置文件;

解析单元,用于利用参数配置脚本,对配置文件进行解析,得出测试参数序列。

可选地,还包括:

截取模块,用户截取测试结果的关键信息;

排序模块,用于根据关键信息所包含的测试结果数值的大小,将测试结果进行排序;

输出模块,用于以预设输出方式,输出最大测试结果数值对应的测试参数。

可选地,还包括:

检测模块,用于运行检测脚本,检测当前系统内是否配置yum服务器,检测当前系统内是否具备stream内存测试所需软件;

配置模块,用于若否,自动配置yum服务器,自动安装所需软件。

本发明实施例所提供的服务器内存带宽测试装置,利用参数配置脚本,自动生成测试参数序列;根据测试参数序列,利用测试脚本,自动运行steam可执行文件,得出测试结果。该装置通过编写测试脚本,按照测试参数序列,自动运行测试文件,即自动完成内存带宽测试,不用人工参与,实现完全自动化,从而不用耗费人力成本,且相较于人工方式测试,自动测试的效率更高,且降低了测试人员的门槛。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的服务器内存带宽测试的方法及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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