一种分布式存储系统性能测试的方法和装置与流程

文档序号:16627812发布日期:2019-01-16 06:16阅读:188来源:国知局
一种分布式存储系统性能测试的方法和装置与流程

本申请涉及计算机技术领域,尤其涉及一种分布式存储系统性能测试的方法和装置。



背景技术:

随着计算机科学技术的快速发展,数据越来越多,规模越来越大,呈指数增长,比如人工智能(英文:artificialintelligence,缩写:ai)大数据、天气预报,金融交易等应用数据,亿级的数据文件构成庞大的数据链,因此,数据存储的性能指数指标也随之要求越来越高。

常见的数据存储系统为分布式存储系统,现有技术中,对于分布式存储系统而言,一般基于人工操作和人工设置等,人工完成分布式存储系统的存储性能测试。

发明人经过研究发现,采用现有技术中人工测试分布式存储系统的存储性能的方式,整个测试操作比较繁琐复杂,而且对测试人员的测试操作专业度要求较高,既耗费人力精力,也耗费大量的时间。



技术实现要素:

本申请所要解决的技术问题是,提供一种分布式存储系统性能测试的方法和装置,实现分布式存储系统的存储性能自动化测试,对测试人员的测试操作专业度要求低,整个测试操作简单便捷,节省人力精力,节约时间。

第一方面,本申请实施例提供了一种分布式存储系统性能测试的方法,该方法包括:

根据分布式存储系统的物理节点和自动化集成测试框架,建立目标测试集群;

利用代码管理工具获取所述目标测试集群性能相关的测试脚本和测试工具,进行自动化测试。

优选的,所述根据分布式存储系统的物理节点和自动化集成测试框架,建立目标测试集群,包括:

将所述分布式存储系统的物理节点添加至所述自动化集成测试框架的节点资源池;

响应于用户的自定义设置操作,生成性能测试配置文件;

根据所述性能测试配置文件和所述节点资源池,建立目标测试集群。

优选的,所述根据所述性能测试配置文件和所述节点资源池,建立目标测试集群,具体为:

根据所述性能测试配置文件,从所述节点资源池中确定目标任务机节点,并建立目标测试集群。

优选的,所述性能测试配置文件包括所述目标测试集群的节点数量、所述目标测试集群中监控守护进程mon节点数量、所述目标测试集群各个节点中元数据服务进程mds数量和对象存储进程osd数量。

优选的,所述利用代码管理工具获取所述目标测试集群性能相关的测试脚本和测试工具,进行自动化测试,包括:

利用git代码获取shell脚本、性能测试脚本和性能测试工具;

执行所述shell脚本,调用所述性能测试脚本和性能测试工具进行自动化测试。

第二方面,本申请实施例提供了一种分布式存储系统性能测试的装置,该装置包括:

建立单元,用于根据分布式存储系统的物理节点和自动化集成测试框架,建立目标测试集群;

测试单元,用于利用代码管理工具获取所述目标测试集群性能相关的测试脚本和测试工具,进行自动化测试。

优选的,所述建立单元包括:

添加子单元,用于将所述分布式存储系统的物理节点添加至所述自动化集成测试框架的节点资源池;

生成子单元,用于响应于用户的自定义设置操作,生成性能测试配置文件;

建立子单元,用于根据所述性能测试配置文件和所述节点资源池,建立目标测试集群。

优选的,所述建立子单元具体用于:

根据所述性能测试配置文件,从所述节点资源池中确定目标任务机节点,并建立目标测试集群。

优选的,所述性能测试配置文件包括所述目标测试集群的节点数量、所述目标测试集群中监控守护进程mon节点数量、所述目标测试集群各个节点中元数据服务进程mds数量和对象存储进程osd数量。

优选的,所述测试单元包括:

获取子单元,用于利用git代码获取shell脚本、性能测试脚本和性能测试工具;

测试子单元,用于执行所述shell脚本,调用所述性能测试脚本和性能测试工具进行自动化测试。

与现有技术相比,本申请至少具有以下优点:

采用本申请实施例的技术方案,首先,根据分布式存储系统的物理节点和自动化集成测试框架,建立目标测试集群;然后,利用代码管理工具获取所述目标测试集群性能相关的测试脚本和测试工具,进行自动化测试。由此可见,利用自动化集成测试框架自定义搭建需要测试的集群,然后加载相关的测试脚本和测试工具完成集群的自动化测试,最终实现分布式存储系统的存储性能自动化测试。本申请实施方式对测试人员的测试操作专业度要求低,整个测试操作简单便捷,节省人力精力,节约时间。

附图说明

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

图1为本申请实施例中一种应用场景所涉及的系统框架示意图;

图2为本申请实施例提供的一种分布式存储系统性能测试的方法的流程示意图;

图3为本申请实施例提供的另一种分布式存储系统性能测试的方法的流程示意图;

图4为本申请实施例提供的一种分布式存储系统性能测试的装置的结构示意图。

具体实施方式

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

现阶段,随着计算机科学技术的快速发展,数据量越来越大,数据存储也越来也重要,随之,数据存储的性能指数指标要求也越来越高。一般地,基于人工操作和人工设置等,人工完成分布式存储系统的存储性能测试。但是,发明人经过研究发现,采用现有技术中人工测试分布式存储系统的存储性能的方式,整个测试操作比较繁琐复杂,而且对测试人员的测试操作专业度要求较高,既耗费人力精力,也耗费大量的时间。

为了解决这一问题,在本申请实施例中,首先,根据分布式存储系统的物理节点和自动化集成测试框架,建立目标测试集群;然后,利用代码管理工具获取所述目标测试集群性能相关的测试脚本和测试工具,进行自动化测试。由此可见,利用自动化集成测试框架自定义搭建需要测试的集群,然后加载相关的测试脚本和测试工具完成集群的自动化测试,最终实现分布式存储系统的存储性能自动化测试。本申请实施方式对测试人员的测试操作专业度要求低,整个测试操作简单便捷,节省人力精力,节约时间。

举例来说,本申请实施例的场景之一,可以是应用到如图1所示的场景中,该场景中包括测试设备101和分布式存储系统102,测试设备101装载自动化集成测试框架,测试设备101和分布式存储系统102之间进行交互。在将分布式存储系统102的物理节点添加至测试设备101自动化集成测试框架的节点资源池的情况下,首先,测试设备101根据分布式存储系统的物理节点和自动化集成测试框架,建立目标测试集群;然后,测试设备101利用代码管理工具获取所述目标测试集群性能相关的测试脚本和测试工具,进行自动化测试。

可以理解的是,在上述应用场景中,虽然将本申请实施方式的动作描述由测试设备101执行,但是,本申请在执行主体方面不受限制,只要执行了本申请实施方式所公开的动作即可。

可以理解的是,上述场景仅是本申请实施例提供的一个场景示例,本申请实施例并不限于此场景。

下面结合附图,通过实施例来详细说明本申请实施例中存储系统性能测试的方法和装置的具体实现方式。

示例性方法

参见图2,示出了本申请实施例中一种分布式存储系统性能测试的方法的流程示意图。在本实施例中,所述方法例如可以包括以下步骤:

步骤201:根据分布式存储系统的物理节点和自动化集成测试框架,建立目标测试集群。

需要说明的是,由于自动化集成测试框架teuthology是一款为了分布式存储系统而设计开发的自动化测试框架,提供节点资源池,具有灵活配置集群节点数量和集群其他配置的功能。因此,为了测试分布式存储系统的存储性能,首先,可以将分布式存储系统所包括的物理节点添加至teuthology的节点资源池,以便利用teuthology能够统一管理分布式存储系统的物理节点;然后,可以自定义建立性能测试配置文件,该性能测试配置文件用于后续自动化部署测试集群和配置测试集群;最后,基于节点资源池完成多节点集群的建立。即,在本实施例的一些实施方式中,所述步骤201例如可以包括以下步骤:

步骤a:将所述分布式存储系统的物理节点添加至所述自动化集成测试框架的节点资源池;

步骤b:响应于用户的自定义设置操作,生成性能测试配置文件;

步骤c:根据所述性能测试配置文件和所述节点资源池,建立目标测试集群。

需要说明的是,步骤b中的性能测试配置文件是基于分布式存储系统的物理节点的特性,根据性能测试需求,通过用户自定义设置集群节点环境得到的。具体地,在本实施例的一些实施方式中,所述性能测试配置文件包括所述目标测试集群的节点数量、所述目标测试集群中监控守护进程mon节点数量、所述目标测试集群各个节点中元数据服务进程mds数量和对象存储进程osd数量。例如,需要测试3节点集群的性能,则性能测试配置文件中目标测试集群的节点数量为3,设置明确这3个节点中监控守护进程mon节点数量、这3个节点中每个节点中元数据服务进程mds数量和对象存储进程osd数量。其中,用户的自定义设置操作可以是修改原有的配置文件,以生成新的性能测试配置文件。

需要说明的是,teuthology的节点资源池具有多个任务机节点,在完成步骤b之后,具体地应当基于生成的性能测试配置文件中的数据,teuthworker分配teuthology的节点资源池内的任务机节点,并通过任务机节点通过搭建目标测试集群。因此,在本实施例的一些实施方式中,所述步骤c例如具体可以为:根据所述性能测试配置文件,从所述节点资源池中确定目标任务机节点,并建立目标测试集群。

步骤202:利用代码管理工具获取所述目标测试集群性能相关的测试脚本和测试工具,进行自动化测试。

需要说明的是,git作为一款开源的分布式系统,可以用来管理很大也可以是很小的代码,则首先可以利用git代码作为代码管理工具获取自动化性能测试所需的脚本和工具,具体为shell脚本、性能测试脚本和性能测试工具;然后,执行shell脚本就是指调用性能测试脚本和性能测试工具完成自动化测试。因此,在本实施例的一些实施方式中,所述步骤202例如可以包括以下步骤:

步骤d:利用git代码获取shell脚本、性能测试脚本和性能测试工具;

步骤e:执行所述shell脚本,调用所述性能测试脚本和性能测试工具进行自动化测试。

还需要说明的是,还可以通过git代码自定义修改性能测试脚本等。

通过本实施例提供的各种实施方式,首先,根据分布式存储系统的物理节点和自动化集成测试框架,建立目标测试集群;然后,利用代码管理工具获取所述目标测试集群性能相关的测试脚本和测试工具,进行自动化测试。由此可见,利用自动化集成测试框架自定义搭建需要测试的集群,然后加载相关的测试脚本和测试工具完成集群的自动化测试,最终实现分布式存储系统的存储性能自动化测试。本申请实施方式对测试人员的测试操作专业度要求低,整个测试操作简单便捷,节省人力精力,节约时间。

参见图3,示出了本申请实施例中另一种分布式存储系统性能测试的方法的流程示意图。在本实施例中,所述方法例如可以包括以下步骤:

步骤301:将存储系统的物理节点添加至所述自动化集成测试框架的节点资源池。

步骤302:响应于用户的自定义设置操作,生成性能测试配置文件,所述性能测试配置文件包括所述目标测试集群的节点数量、所述目标测试集群中监控守护进程mon节点数量、所述目标测试集群各个节点中元数据服务进程mds数量和对象存储进程osd数量。

步骤303:根据所述性能测试配置文件,从所述节点资源池中确定目标任务机节点,并建立目标测试集群。

步骤304:利用git代码获取shell脚本、性能测试脚本和性能测试工具。

步骤305:执行所述shell脚本,调用所述性能测试脚本和性能测试工具进行自动化测试。

通过本实施例提供的各种实施方式,首先,根据分布式存储系统的物理节点和自动化集成测试框架,建立目标测试集群;然后,利用代码管理工具获取所述目标测试集群性能相关的测试脚本和测试工具,进行自动化测试。由此可见,利用自动化集成测试框架自定义搭建需要测试的集群,然后加载相关的测试脚本和测试工具完成集群的自动化测试,最终实现分布式存储系统的存储性能自动化测试。本申请实施方式对测试人员的测试操作专业度要求低,整个测试操作简单便捷,节省人力精力,节约时间。

示例性设备

参见图4,示出了本申请实施例中一种分布式存储系统性能测试的装置的结构示意图。在本实施例中,所述装置例如具体可以包括:

建立单元401,用于根据分布式存储系统的物理节点和自动化集成测试框架,建立目标测试集群;

测试单元402,用于利用代码管理工具获取所述目标测试集群性能相关的测试脚本和测试工具,进行自动化测试。

可选的,所述建立单元401包括:

添加子单元,用于将所述分布式存储系统的物理节点添加至所述自动化集成测试框架的节点资源池;

生成子单元,用于响应于用户的自定义设置操作,生成性能测试配置文件;

建立子单元,用于根据所述性能测试配置文件和所述节点资源池,建立目标测试集群。

可选的,所述建立子单元具体用于:

根据所述性能测试配置文件,从所述节点资源池中确定目标任务机节点,并建立目标测试集群。

可选的,所述性能测试配置文件包括所述目标测试集群的节点数量、所述目标测试集群中监控守护进程mon节点数量、所述目标测试集群各个节点中元数据服务进程mds数量和对象存储进程osd数量。

可选的,所述测试单元402包括:

获取子单元,用于利用git代码获取shell脚本、性能测试脚本和性能测试工具;

测试子单元,用于执行所述shell脚本,调用所述性能测试脚本和性能测试工具进行自动化测试。

通过本实施例提供的各种实施方式,首先,根据分布式存储系统的物理节点和自动化集成测试框架,建立目标测试集群;然后,利用代码管理工具获取所述目标测试集群性能相关的测试脚本和测试工具,进行自动化测试。由此可见,利用自动化集成测试框架自定义搭建需要测试的集群,然后加载相关的测试脚本和测试工具完成集群的自动化测试,最终实现分布式存储系统的存储性能自动化测试。本申请实施方式对测试人员的测试操作专业度要求低,整个测试操作简单便捷,节省人力精力,节约时间。

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

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

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

以上所述,仅是本申请的较佳实施例而已,并非对本申请作任何形式上的限制。虽然本申请已以较佳实施例揭露如上,然而并非用以限定本申请。任何熟悉本领域的技术人员,在不脱离本申请技术方案范围情况下,都可利用上述揭示的方法和技术内容对本申请技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本申请技术方案的内容,依据本申请的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本申请技术方案保护的范围内。

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