CN102567203A - 一种测试分布式文件***性能的方法及*** - Google Patents

一种测试分布式文件***性能的方法及*** Download PDF

Info

Publication number
CN102567203A
CN102567203A CN2011104479844A CN201110447984A CN102567203A CN 102567203 A CN102567203 A CN 102567203A CN 2011104479844 A CN2011104479844 A CN 2011104479844A CN 201110447984 A CN201110447984 A CN 201110447984A CN 102567203 A CN102567203 A CN 102567203A
Authority
CN
China
Prior art keywords
test
scene
memory node
client
test scene
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
Application number
CN2011104479844A
Other languages
English (en)
Other versions
CN102567203B (zh
Inventor
王义杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Innovation Technology Co., Ltd.
Shenzhen Innovation Software Technology Co., Ltd.
Original Assignee
Innovation And Technology Storage Technology Co Ltd
CHUANGXINKE SOFTWARE TECHNOLOGY (SHENZHEN) Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Innovation And Technology Storage Technology Co Ltd, CHUANGXINKE SOFTWARE TECHNOLOGY (SHENZHEN) Co Ltd filed Critical Innovation And Technology Storage Technology Co Ltd
Priority to CN201110447984.4A priority Critical patent/CN102567203B/zh
Publication of CN102567203A publication Critical patent/CN102567203A/zh
Application granted granted Critical
Publication of CN102567203B publication Critical patent/CN102567203B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种测试分布式文件***性能的方法及***。该方法包括:接收测试用户输入的性能测试参数,生成测试场景表,并依据测试场景表,生成对应测试场景表中各测试场景的测试程序;根据性能测试参数中设置的测试客户端平台类型及测试客户端的最大数量,创建各测试客户端对应的虚拟机VM,并为创建的VM配置测试网络参数;为创建的VM自动安装测试客户端程序;依序加载测试场景表中各测试场景所需的VM以及存储节点,启动测试;收集存储节点运行测试的测试数据,生成测试结果报告。应用本发明,可以提高测试效率、降低测试成本。

Description

一种测试分布式文件***性能的方法及***
技术领域
本发明涉及计算机测试技术,特别涉及一种测试分布式文件***性能的方法及***。
背景技术
随着现代信息技术的飞速发展,信息数据量不断增大,文件***作为对信息数据进行组织、分配及存储的***,用于为用户建立信息数据文件,存储信息数据,并对信息数据文件进行维护,包括本地文件***以及分布式文件***。其中,分布式文件***通过计算机网络与文件***管理的各物理存储资源,例如,存储节点相连接,可以有效提升信息数据存储的效率及空间,因而得到了广泛的应用。
但实际应用中,由于分布式文件***应用于不同的应用行业,或基于不同的客户端平台类型,其存储的性能差异较大,而如何获取不同应用行业、不同客户端平台类型下的各分布式文件***的性能参数,是分布式文件***测试研究的一个热点问题。
现有测试分布式文件***性能的方法,主要采用单测试场景测试方法,即每一应用行业,根据客户端平台的需求,构建相应的分布式文件***,编写满足应用行业以及客户端平台的测试程序,并根据编写的测试程序对建构的分布式文件***进行测试,获取该应用行业以及客户端平台下各存储节点的测试结果。
由上述可见,现有测试分布式文件***性能的方法,不同的应用行业基于不同的客户端平台分别建构分布式文件***,并针对各分布式文件***分别编写测试程序,不仅需要测试人员具备编程基础,也使得测试成本较高;进一步地,只能进行单一测试场景的测试,测试规模较小,不能满足日益增长的多性能、多测试场景同步测试的需求,测试效率较低;而且,对于不同的客户端平台,由于需要独立编写测试程序,测试参数没有统一的规范与标准,各跨平台性能测试结果之间不具有可比较性。
发明内容
有鉴于此,本发明的主要目的在于提出一种测试分布式文件***性能的方法,提高测试效率、降低测试成本。
本发明的另一目的在于提出一种测试分布式文件***性能的***,提高测试效率、降低测试成本。
为达到上述目的,本发明提供了一种测试分布式文件***性能的方法,该方法包括:
接收测试用户输入的性能测试参数,生成测试场景表,并依据测试场景表,生成对应测试场景表中各测试场景的测试程序;
根据性能测试参数中设置的测试客户端平台类型及测试客户端的最大数量,创建各测试客户端对应的虚拟机VM,并为创建的VM配置测试网络参数;
为创建的VM自动安装测试客户端程序;
依序加载测试场景表中各测试场景所需的VM以及存储节点,启动测试;
收集存储节点运行测试的测试数据,生成测试结果报告。
所述性能测试参数包括:测试客户端平台类型、测试客户端的最大数量、存储节点最大数量、每个测试客户端的最大测试进程数量、测试客户端数量负载递增值、存储节点数量递增值、存储节点测试类型数量以及测试程序运行时间。
所述依序加载测试场景表中各测试场景所需的VM以及存储节点,启动测试包括:
确定当前测试场景为初始测试场景,初始化当前测试场景所需的VM以及存储节点,启动测试;
在当前测试场景测试完毕,根据当前测试场景以及下一测试场景,确定下一测试场景需要初始化的存储节点以及VM,执行初始化处理,将下一测试场景对应的测试程序分发到该下一测试场景中的VM,启动测试。
所述确定下一测试场景需要初始化的存储节点以及VM,执行初始化处理包括:
判断当前已执行测试的存储节点数量与VM数量分别相比于下一测试场景所需的存储节点数量与VM数量是否发生变化,如果是,调用数据清理程序,对存储节点进行数据清理,并将存储节点数量及VM数量初始化为与下一测试场景所需的存储节点数量与VM数量相等。
所述测试结果报告包括:单测试场景测试结果报告以及分布式文件***测试结果报告。
进一步包括:
监测各VM的资源占用状态信息,得到监控数据,并依据监控数据生成监控结果报告。
所述资源占用状态信息包括:CPU占用率、CPU等待时间、内存占用量以及网络流量。
一种测试分布式文件***性能的***,该***包括:性能测试场景生成器、控制台、虚拟机VM创建模块以及存储节点,其中,
性能测试场景生成器,用于接收测试用户在性能测试场景设置界面中输入的性能测试参数,生成测试场景表,并依据测试场景表,生成对应测试场景表中各测试场景的测试程序;
控制台,用于根据测试客户端平台类型,向VM创建模块下发测试客户端程序;确定当前测试场景为初始测试场景,初始化当前测试场景所需的VM以及存储节点;在当前测试场景测试完毕,根据当前测试场景以及下一测试场景,确定下一测试场景需要初始化的存储节点以及VM,执行初始化处理,将下一测试场景对应的测试程序分发到VM创建模块执行测试,收集存储节点运行测试的测试数据,生成测试结果报告;
VM创建模块,根据性能测试参数中设置的测试客户端平台类型及测试客户端的最大数量,创建各测试客户端对应的VM,并为创建的VM配置测试网络参数,根据接收的测试客户端程序,为创建的VM安装测试客户端程序;
与控制台交互,对下一测试场景需要初始化的VM进行初始化处理,按照接收的测试程序启动测试,向存储节点发送读/写指令;
存储节点,接收VM创建模块发送的读/写指令,进行读/写测试;
与控制台交互,对下一测试场景需要初始化的存储节点进行初始化处理。
所述控制台包括:测试客户端程序下发单元、测试程序监测单元、初始化单元、测试数据收集单元以及测试结果报告生成单元,其中,
测试客户端程序下发单元,用于根据测试客户端平台类型,向VM创建模块下发测试客户端程序;
初始化单元,确定当前测试场景为初始测试场景,初始化当前测试场景所需的VM以及存储节点;接收初始化指令,根据当前测试场景以及下一测试场景,确定下一测试场景需要初始化的存储节点以及VM,执行初始化处理;
测试程序监测单元,用于监测当前运行的测试程序,确定当前测试程序运行完毕,向初始化单元输出初始化指令,根据测试场景表中当前测试场景对应的下一测试场景,将下一测试场景对应的测试程序分发到VM创建模块;
测试数据收集单元,用于收集存储节点运行测试的测试数据;
测试结果报告生成单元,用于根据测试数据收集单元收集的测试数据,生成测试结果报告。
所述控制台进一步包括:
资源监视单元,监控并获取VM的资源占用状态信息,得到监控数据,输出至测试结果生成单元;
测试结果生成单元,进一步用于根据监控数据,生成监控结果报告。
由上述的技术方案可见,本发明实施例提供的一种测试分布式文件***性能的方法及***,接收测试用户输入的性能测试参数,生成测试场景表,并依据测试场景表,生成对应测试场景表中各测试场景的测试程序;根据性能测试参数中设置的测试客户端平台类型及测试客户端的最大数量,创建各测试客户端对应的虚拟机VM,并为创建的VM配置测试网络参数;为创建的VM自动安装测试客户端程序;依序加载测试场景表中各测试场景所需的VM以及存储节点,启动测试;收集存储节点运行测试的测试数据,生成测试结果报告。这样,通过设置统一规范与标准的通用于各性能测试的性能测试参数,性能测试场景生成器根据性能测试参数自动生成对应各测试场景的测试程序,控制台依据各测试场景构建相应的分布式文件***,并依据当前测试场景对应的测试程序自动启动测试,获取测试数据,能够实现多测试场景的测试,测试效率高;无需针对各分布式文件***分别编写测试程序,降低了测试成本。
附图说明
图1为本发明实施例测试分布式文件***性能的***结构示意图。
图2为本发明实施例测试分布式文件***性能的方法流程示意图。
图3为本发明实施例测试分布式文件***性能的方法具体流程示意图。
图4为本发明实施例测试分布式文件***性能的方法另一流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
现有采用单测试场景测试分布式文件***性能的方法,需要测试人员分别编写测试程序,不仅对测试人员要求高,也使得测试成本较高,测试效率较低,各跨平台性能测试结果不具有可比较性。本发明实施例中,通过统计分析各测试程序中共有的程序编码段,设置通用于各性能测试的性能测试参数,测试用户只需对性能测试参数进行设定,分布式文件***根据测试用户设置的性能测试参数自动生成测试程序,以降低对测试人员的要求及测试成本,同时,通过测试参数的统一规范与标准,实现跨平台性能测试结果的可比较性。
图1为本发明实施例测试分布式文件***性能的***结构示意图。参见图1,该***包括:性能测试场景生成器、控制台、虚拟机(VM,VirtualManufacturing)创建模块以及存储节点,其中,
性能测试场景生成器,用于接收测试用户在性能测试场景设置界面中输入的性能测试参数,生成测试场景表,并依据测试场景表,生成对应测试场景表中各测试场景的测试程序;
本发明实施例中,性能测试参数包括:测试客户端平台类型、测试客户端的最大数量Cmax、存储节点最大数量Smax、每个测试客户端的最大测试进程数量Pmax、测试客户端数量负载递增值Cplus、存储节点数量递增值Splus、存储节点测试类型数量Lr/w以及测试程序运行时间T等参数信息。其中,测试客户端平台类型可以是Linux平台,也可以是Windows平台,还可以是MAC平台等;存储节点测试类型包括读类型以及写类型。
控制台,用于根据测试客户端平台类型,向VM创建模块下发测试客户端程序;确定当前测试场景为初始测试场景,初始化当前测试场景所需的VM以及存储节点;在当前测试场景测试完毕,根据当前测试场景以及下一测试场景,确定下一测试场景需要初始化的存储节点以及VM,执行初始化处理,将下一测试场景对应的测试程序分发到VM创建模块执行测试,收集存储节点运行测试的测试数据,生成测试结果报告;
本发明实施例中,测试程序由控制台调用,在VM安装并运行,VM根据设置的测试程序运行时间按照测试程序对存储节点进行读/写测试,控制台监测存储节点进行读/写操作的测试数据,对测试数据进行统计、分析,得到测试结果报告。
测试结果报告包括:单测试场景测试结果报告以及分布式文件***测试结果报告。其中,分布式文件***测试结果报告为对各测试场景中的测试数据汇总后进行统计、分析,得到的报告。
较佳地,控制台还监测VM创建模块中的各VM的资源占用状态信息,例如,CPU占用率、CPU等待时间、内存占用量、网络流量等,得到监控数据,并依据监控数据生成监控结果报告。
VM创建模块,根据性能测试参数中设置的测试客户端平台类型及测试客户端的最大数量,创建各测试客户端对应的VM,并为创建的VM配置测试网络参数,根据接收的测试客户端程序,为创建的VM安装测试客户端程序;
与控制台交互,对下一测试场景需要初始化的VM进行初始化处理,按照接收的测试程序启动测试,向存储节点发送读/写指令;
本发明实施例中,通过先确定测试客户端平台类型,然后根据所设测试客户端的最大数量生成不同测试客户端平台类型的VM,例如,分别生成安装了linux的操作***的VM以及安装了Windows操作***的VM,然后为各VM配置测试网络参数,最后,自动安装对应的测试客户端程序以及测试程序。
一个测试客户端对应一个VM,每个创建的VM占用开放源代码虚拟机监视器(XEN)的一个独立网卡,并配置相应的IP地址信息,根据测试客户端平台类型,为创建的每个VM安装测试客户端程序,例如,如果测试客户端平台类型为windows,则为VM安装windows操作***程序。
由于不同的测试场景包含的VM数量可能不同,因而,在每一测试场景执行完毕后,需要与控制台交互,确定下一测试场景所需的VM数量,并依据当前测试场景的VM数量进行相应的增、减或保持不变。
存储节点,接收VM创建模块发送的读/写指令,进行读/写测试;
与控制台交互,对下一测试场景需要初始化的存储节点进行初始化处理。
本发明实施例中,与VM创建模块相类似,不同的测试场景包含的存储节点数量可能不同,需要在每一次测试场景中,确定其所需的存储节点数量,并依据当前测试场景的存储节点数量进行相应的增、减或保持不变。
其中,控制台包括:测试客户端程序下发单元、测试程序监测单元、初始化单元、测试数据收集单元以及测试结果报告生成单元(图中未示出),其中,
测试客户端程序下发单元,用于根据测试客户端平台类型,向VM创建模块下发测试客户端程序;
初始化单元,确定当前测试场景为初始测试场景,初始化当前测试场景所需的VM以及存储节点;接收初始化指令,根据当前测试场景以及下一测试场景,确定下一测试场景需要初始化的存储节点以及VM,执行初始化处理;
本发明实施例中,初始测试场景为测试场景表中的第一个测试场景。
测试程序监测单元,用于监测当前运行的测试程序,确定当前测试程序运行完毕,向初始化单元输出初始化指令,根据测试场景表中当前测试场景对应的下一测试场景,将下一测试场景对应的测试程序分发到VM创建模块;
测试数据收集单元,用于收集存储节点运行测试的测试数据;
本发明实施例中,测试数据主要包括存储节点的读/写效率信息,根据收集的预定时间内读/写的数据量,可以计算存储节点的读/写速度,从而获知读/写效率信息。
测试结果报告生成单元,用于根据测试数据收集单元收集的测试数据,生成测试结果报告。
本发明实施例中,测试结果报告包括:单测试场景测试结果报告以及分布式文件***测试结果报告。
较佳地,该控制台还包括:
资源监视单元,监控并获取VM的资源占用状态信息,得到监控数据,输出至测试结果生成单元;
测试结果生成单元,进一步用于根据监控数据,生成监控结果报告。
与前述相类似,本发明实施例中,监控结果报告包括:单测试场景监控结果报告以及分布式文件***监控结果报告。
图2为本发明实施例测试分布式文件***性能的方法流程示意图。参见图2,该流程包括:
步骤201,接收测试用户输入的性能测试参数,生成测试场景表,并依据测试场景表,生成对应测试场景表中各测试场景的测试程序;
步骤202,根据性能测试参数中设置的测试客户端平台类型及测试客户端的最大数量,创建各测试客户端对应的VM;
步骤203,为创建的VM配置测试网络参数,并安装测试客户端程序;
步骤204,依序加载测试场景表中各测试场景所需的VM以及存储节点,启动测试;
本步骤包括:
确定当前测试场景为初始测试场景,初始化当前测试场景所需的VM以及存储节点,启动测试;
在当前测试场景测试完毕,根据当前测试场景以及下一测试场景,确定下一测试场景需要初始化的存储节点以及VM,执行初始化处理,将下一测试场景对应的测试程序分发到该下一测试场景中的VM,启动测试。
步骤205,收集存储节点运行测试的测试数据,生成测试结果报告。
图3为本发明实施例测试分布式文件***性能的方法具体流程示意图。参见图3,该流程包括:
步骤301,在性能测试场景生成器界面中输入性能测试参数;
本步骤中,根据性能测试需求制定测试范围,在性能测试场景生成器界面中输入反映测试范围的性能测试参数。
步骤302,性能测试场景生成器根据输入的性能测试参数生成测试场景表;
本步骤中,测试场景表中包含的最大测试场景数量Nmax计算公式为:
N max = C max C plus x S max S plus x P max x L r / w
步骤303,为测试场景表中每个测试场景,生成对应的测试程序;
本步骤中,如果测试场景表中包含的最大测试场景数量为Nmax,则针对每一种测试客户端平台类型,共生成该测试客户端平台类型下的Nmax个测试场景以及Nmax个测试程序,各测试程序中,测试客户端的最大数量Cmax、存储节点最大数量Smax、每个测试客户端的最大测试进程数量Pmax、测试客户端数量负载递增值Cplus以及存储节点测试类型数量Lr/w中的一项或多项参数不同。当然,对于其他测试客户端平台类型,只需在各测试客户端中安装相应的测试客户端程序,如果性能测试参数相同,则可以共用相同的测试程序,这样,无需为每一测试场景进行测试程序编程。
步骤304,根据设置的测试客户端的最大数量,创建各测试客户端对应的VM,并为创建的VM配置测试网络参数;
本步骤中,调用VM初始化程序,初始化测试客户端,创建各测试客户端对应的VM,并配置好IP,安装测试客户端平台类型的客户端软件。
步骤305,调用存储节点初始化脚本,构建初始测试场景中的存储节点;
步骤306,控制台根据测试场景表,将初始测试场景对应的测试程序分发至初始测试场景中的VM;
步骤307,确定当前存储节点数量正确;
本步骤中,如果已执行测试的当前存储节点数量小于待启动的测试场景所需的存储节点数量,则启动存储节点并加入到分布式文件***中,如果当前存储节点数量大于待启动的测试场景所需的存储节点数量,则删除存储节点,如果相等,则不作处理。
步骤308,判断是否要调用数据清理程序,是则先重置被测试***;
本步骤中,如果当前已执行测试的存储节点数量与VM数量相比于待启动的测试场景所需的存储节点数量与VM数量中的任意一个发生变化,则需要调用数据清理程序,对存储节点进行数据清理,并初始化VM。即将存储节点数量及VM数量初始化为与下一测试场景所需的存储节点数量与VM数量相等。
步骤309,触发VM启动测试,向存储节点发送读/写指令,获取测试数据;
步骤310,控制台调用资源监视器程序,分发到各测试客户端,执行资源监视脚本,执行时间结束后,将监控数据上传到控制台;
步骤311,判断当前测试结束且不为测试场景表中最后一个测试场景,重置存储节点,然后分发下一测试程序到各测试客户端,返回执行步骤307;
本步骤中,分发测试程序,逐个测试场景按步骤307~步骤311执行,直至所有测试场景完成。
步骤312,测试执行结束后,收集测试数据以及监控数据,生成单测试场景测试结果报告以及总的测试结果报告。
本步骤中,测试执行结束后,控制台收集测试数据以及监控数据,调用结果分析脚本,汇总各测试数据以及监控数据,并生成单测试场景测试结果报告,并汇总单测试场景测试结果报告,生成总的测试结果报告。
以下举一具体实施例,在对本发明的测试分布式文件***性能的方法作进一步说明。
图4为本发明实施例测试分布式文件***性能的方法另一流程示意图。参见图4,该流程包括:
步骤401,在性能测试场景生成器界面中输入性能测试参数;
本步骤中,在性能测试场景生成器界面中,设置测试客户端平台类型为Linux、测试客户端的最大数量Cmax为16、存储节点最大数量Smax为4、每个测试客户端的最大测试进程数量为1、测试客户端数量负载递增值Cplus为4、存储节点测试类型Lr/w为写/读、测试程序运行时间T为600秒。
步骤402,根据输入的性能测试参数生成测试场景表;
本步骤中,性能测试场景生成器依据步骤401中输入的性能测试参数,生成32
Figure BDA0000126207660000121
种测试场景,放到测试场景表中,生成的测试场景列表如下。其中,Si(i为自然数,1≤i≤4)表示该测试场景中的存储节点为1台,Cj(i为自然数,4≤j≤16)表示该测试场景中具有j个测试客户端,W/R分别代表写/读测试,P1表示每个测试客户端具有1个测试进程。
PE_S1_C4_W_P1、PE_S1_C4_R_P1;
PE_S1_C8_W_P1、PE_S1_C8_R_P1;
PE_S1_C12_W_P1、PE_S1_12_R_P1;
PE_S1_C16_W_P1、PE_S1_C16_R_P1;
PE_S2_C4_W_P1、PE_S2_C4_R_P1;
PE_S2_C8_W_P1、PE_S2_C8_R_P1;
PE_S2_C12_W_P1、PE_S2_12_R_P1;
PE_S2_C16_W_P1、PE_S2_C16_R_P1;
PE_S3_C4_W_P1、PE_S3_C4_R_P1;
PE_S3_C8_W_P1、PE_S3_C8_R_P1;
PE_S3_C12_W_P1、PE_S3_12_R_P1;
PE_S3_C16_W_P1、PE_S3_C16_R_P1;
PE_S4_C4_W_P1、PE_S4_C4_R_P1;
PE_S4_C8_W_P1、PE_S4_C8_R_P1;
PE_S4_C12_W_P1、PE_S4_12_R_P1;
PE_S4_C16_W_P1、PE_S4_C16_R_P1。
实际应用中,还可以根据需要,修改测试场景生成器生成的测试场景表中各测试场景的性能测试参数。
步骤403,调用VM初始化脚本,创建各测试客户端对应的VM,并为创建的VM配置测试网络参数以及安装测试客户端软件;
本步骤中,为每一测试场景中的测试客户端创建对应的VM,根据测试客户端的最大数量Cmax,设置IP地址范围,例如,172.16.96.10~172.16.96.50,在Xen平台上初始化16台Linux虚拟机后,VM初始化脚本按照预设的IP地址范围,为16台VM设置顺序的IP地址(测试网络参数),即,第一台VM的IP地址设置为172.16.96.10,第二台VM的IP地址设置为172.16.96.11,以此类推。然后在VM上安装测试客户端软件。
实际应用中,还可以为一部分VM安装测试客户端软件,而另一部分VM安装另外的测试客户端软件,这样,可以支持混合的客户端平台测试。
步骤404,为测试场景表中的各测试场景生成相应的测试程序;
本步骤中,测试场景表中包含32种测试场景,根据32种测试场景对应的性能测试参数,分别生成对应32种测试场景的测试程序。
步骤405,调用被测试***初始化脚本,部署被测试的分布式文件***;
本步骤中,调用被测试***初始化脚本,按照测试场景表中的各测试场景分别部署被测试的分布式文件***。
步骤406,控制台调用初始测试程序,分发到初始测试场景,初始化测试;
本步骤中,初始测试程序为初始测试场景对应的测试程序,初始测试场景为测试场景表中的第一个测试场景,即PE_S1_C4_W_P1。
步骤407,确定当前已执行测试的存储节点数量与下一待启动的测试场景中设置的存储节点数量相匹配;
本步骤中,判断当前已执行测试的存储节点数量是否与下一待启动的测试场景中设置的存储节点数量相匹配,如果匹配,则不作处理,如果不匹配,则通过启动新的存储节点或断开与已启动的存储节点的连接,使当前启动的存储节点数量与启动的测试场景中设置的存储节点数量相等。
本发明实施例中,在初始测试启动时,默认启动的存储节点数量为1,与测试场景PE_S1_C4_W_P1相匹配。
步骤408,确定是否需要重置被测试***,如果需要,重置被测试***,启动测试;如果不需要,直接启动测试;
本步骤中,确定是否需要重置被测试***,如果当前启动的测试客户端数量与启动的测试场景中设置的测试客户端数量不匹配,或者,步骤407中当前启动的存储节点数量与启动的测试场景中设置的存储节点数量不匹配,则需要重置被测试***,即调用数据清理程序执行数据清理,格式化存储节点,重新配置测试客户端以及存储节点,使其数量分别与启动的测试场景中设置的测试客户端数量以及存储节点数量相匹配,然后分发启动的测试场景对应的测试程序到各测试客户端执行。
步骤409,在测试程序运行时间内,获取存储节点的测试数据;
本步骤中,测试程序的脚本在每个测试客户端上执行600秒,向存储节点发送读写指令,存储节点根据接收的读写指令,执行相应的读写操作测试。在预先设置的测试程序运行时间(600秒)内,控制台监测存储节点的测试过程中的测试数据并进行收集。
步骤410,在测试程序运行时间内,获取测试客户端的监测数据;
本步骤中,控制台在监测并收集初始测试场景中的一个存储节点的测试数据的同时,也可以在600秒的时间内,监测并收集初始测试场景中的四个测试客户端的监测数据。
步骤411,在测试程序运行时间到时,判断当前启动的测试场景是否为测试场景表中的最后一个测试场景,如果是,执行步骤412,否则,加载测试场景表中当前启动的测试场景的下一测试场景,返回执行步骤407;
本步骤中,如果当前启动的测试场景为测试场景表中的最后一个测试场景,表明测试已执行完毕,需要控制台对测试数据进行分析,否则,还需要加载下一测试场景执行新的测试,例如,测试场景PE_S1_C4_W_P1执行完成后,控制台会根据下一测试场景PE_S1_C4_R_P1,加载第二测试场景PE_S1_C4_R_P1执行读测试,重复步骤步骤407~步骤411,最终完成测试场景表中的所有测试场景执行。
步骤412,根据收集的测试数据生成单测试场景测试报告以及分布式文件***测试结果报告。
本步骤中,控制台在判断各测试客户端的测试程序都执行完成后,收集存储节点的测试数据以及各测试客户端的监测数据,调用测试分析脚本,汇总各存储节点的测试数据以及各测试客户端的监测数据,并生成PE_S1_C4_W_P1的单测试场景测试报告。
当测试场景表中的所有测试场景执行完成后,测试分析脚本会汇总各测试场景的测试数据以及监测数据,生成分布式文件***测试结果报告,这样,为用户了解被测***的性能以及各测试平台的测试客户端的性能提供了参考信息,并可以对跨平台的被测***的性能进行比较。
由上述可见,本发明实施例的测试分布式文件***性能的方法及***,通过设置统一规范与标准的通用于各性能测试的性能测试参数,性能测试场景生成器根据性能测试参数自动生成对应各测试场景的测试程序,控制台依据各测试场景构建相应的分布式文件***,并依据当前测试场景对应的测试程序自动启动测试,获取测试数据。这样,能够实现多测试场景的测试,满足了测试用户日益增长的多性能、多测试场景同步测试的需求,测试效率高,大大缩短了整个性能测试周期;进一步地,无需针对各分布式文件***分别编写测试程序,对测试人员要求不高,不需具有程序开发基础,也降低了测试成本;而且,每轮测试完成前自动重置被测试***数量,使得每次测试结果更真实,支持跨客户端平台测试以及多种客户端平台类型混合测试,各跨平台性能测试结果具有可比较性;此外,对分布式文件***的吞吐量负载测试可以自动完成,提高了整个测试流程的自动化程度。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种测试分布式文件***性能的方法,其特征在于,该方法包括:
接收测试用户输入的性能测试参数,生成测试场景表,并依据测试场景表,生成对应测试场景表中各测试场景的测试程序;
根据性能测试参数中设置的测试客户端平台类型及测试客户端的最大数量,创建各测试客户端对应的虚拟机VM,并为创建的VM配置测试网络参数;
为创建的VM自动安装测试客户端程序;
依序加载测试场景表中各测试场景所需的VM以及存储节点,启动测试;
收集存储节点运行测试的测试数据,生成测试结果报告。
2.如权利要求1所述的方法,其特征在于,所述性能测试参数包括:测试客户端平台类型、测试客户端的最大数量、存储节点最大数量、每个测试客户端的最大测试进程数量、测试客户端数量负载递增值、存储节点数量递增值、存储节点测试类型数量以及测试程序运行时间。
3.如权利要求2所述的方法,其特征在于,所述依序加载测试场景表中各测试场景所需的VM以及存储节点,启动测试包括:
确定当前测试场景为初始测试场景,初始化当前测试场景所需的VM以及存储节点,启动测试;
在当前测试场景测试完毕,根据当前测试场景以及下一测试场景,确定下一测试场景需要初始化的存储节点以及VM,执行初始化处理,将下一测试场景对应的测试程序分发到该下一测试场景中的VM,启动测试。
4.如权利要求3所述的方法,其特征在于,所述确定下一测试场景需要初始化的存储节点以及VM,执行初始化处理包括:
判断当前已执行测试的存储节点数量与VM数量分别相比于下一测试场景所需的存储节点数量与VM数量是否发生变化,如果是,调用数据清理程序,对存储节点进行数据清理,并将存储节点数量及VM数量初始化为与下一测试场景所需的存储节点数量与VM数量相等。
5.如权利要求4所述的方法,其特征在于,所述测试结果报告包括:单测试场景测试结果报告以及分布式文件***测试结果报告。
6.如权利要求1至5任一项所述的方法,其特征在于,进一步包括:
监测各VM的资源占用状态信息,得到监控数据,并依据监控数据生成监控结果报告。
7.如权利要求6所述的方法,其特征在于,所述资源占用状态信息包括:CPU占用率、CPU等待时间、内存占用量以及网络流量。
8.一种测试分布式文件***性能的***,其特征在于,该***包括:性能测试场景生成器、控制台、虚拟机VM创建模块以及存储节点,其中,
性能测试场景生成器,用于接收测试用户在性能测试场景设置界面中输入的性能测试参数,生成测试场景表,并依据测试场景表,生成对应测试场景表中各测试场景的测试程序;
控制台,用于根据测试客户端平台类型,向VM创建模块下发测试客户端程序;确定当前测试场景为初始测试场景,初始化当前测试场景所需的VM以及存储节点;在当前测试场景测试完毕,根据当前测试场景以及下一测试场景,确定下一测试场景需要初始化的存储节点以及VM,执行初始化处理,将下一测试场景对应的测试程序分发到VM创建模块执行测试,收集存储节点运行测试的测试数据,生成测试结果报告;
VM创建模块,根据性能测试参数中设置的测试客户端平台类型及测试客户端的最大数量,创建各测试客户端对应的VM,并为创建的VM配置测试网络参数,根据接收的测试客户端程序,为创建的VM安装测试客户端程序;
与控制台交互,对下一测试场景需要初始化的VM进行初始化处理,按照接收的测试程序启动测试,向存储节点发送读/写指令;
存储节点,接收VM创建模块发送的读/写指令,进行读/写测试;
与控制台交互,对下一测试场景需要初始化的存储节点进行初始化处理。
9.如权利要求8所述的***,其特征在于,所述控制台包括:测试客户端程序下发单元、测试程序监测单元、初始化单元、测试数据收集单元以及测试结果报告生成单元,其中,
测试客户端程序下发单元,用于根据测试客户端平台类型,向VM创建模块下发测试客户端程序;
初始化单元,确定当前测试场景为初始测试场景,初始化当前测试场景所需的VM以及存储节点;接收初始化指令,根据当前测试场景以及下一测试场景,确定下一测试场景需要初始化的存储节点以及VM,执行初始化处理;
测试程序监测单元,用于监测当前运行的测试程序,确定当前测试程序运行完毕,向初始化单元输出初始化指令,根据测试场景表中当前测试场景对应的下一测试场景,将下一测试场景对应的测试程序分发到VM创建模块;
测试数据收集单元,用于收集存储节点运行测试的测试数据;
测试结果报告生成单元,用于根据测试数据收集单元收集的测试数据,生成测试结果报告。
10.如权利要求9所述的***,其特征在于,所述控制台进一步包括:
资源监视单元,监控并获取VM的资源占用状态信息,得到监控数据,输出至测试结果生成单元;
测试结果生成单元,进一步用于根据监控数据,生成监控结果报告。
CN201110447984.4A 2011-12-28 2011-12-28 一种测试分布式文件***性能的方法及*** Active CN102567203B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110447984.4A CN102567203B (zh) 2011-12-28 2011-12-28 一种测试分布式文件***性能的方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110447984.4A CN102567203B (zh) 2011-12-28 2011-12-28 一种测试分布式文件***性能的方法及***

Publications (2)

Publication Number Publication Date
CN102567203A true CN102567203A (zh) 2012-07-11
CN102567203B CN102567203B (zh) 2015-09-23

Family

ID=46412670

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110447984.4A Active CN102567203B (zh) 2011-12-28 2011-12-28 一种测试分布式文件***性能的方法及***

Country Status (1)

Country Link
CN (1) CN102567203B (zh)

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102799670A (zh) * 2012-07-16 2012-11-28 北京国创富盛通信股份有限公司 压力测试数据处理装置和压力测试数据处理方法
CN103034584A (zh) * 2012-12-05 2013-04-10 曙光信息产业(北京)有限公司 测试分布式锁的方法和装置
CN103902447A (zh) * 2012-12-27 2014-07-02 百度在线网络技术(北京)有限公司 一种分布式***的***测试方法及装置
CN103973507A (zh) * 2013-02-01 2014-08-06 腾讯科技(深圳)有限公司 云测试***中上报测试结果的***、测试机及方法
CN104731706A (zh) * 2013-12-19 2015-06-24 国际商业机器公司 用于使用分布式计算的测试管理的方法和装置
CN104794007A (zh) * 2015-04-29 2015-07-22 中国电力科学研究院 一种基于电力大数据平台海量数据并行处理的测试方法
CN104834576A (zh) * 2015-04-30 2015-08-12 捷鼎国际股份有限公司 基于虚拟机进行硬件装置测试的计算机***及方法
CN105095084A (zh) * 2015-08-25 2015-11-25 浪潮(北京)电子信息产业有限公司 一种服务器虚拟化平台的虚拟机内存性能测试***及方法
CN106843965A (zh) * 2017-01-20 2017-06-13 郑州云海信息技术有限公司 一种自动安装***测试工具的***及安装方法
CN106933715A (zh) * 2017-03-14 2017-07-07 郑州云海信息技术有限公司 一种基于不同测试场景的服务器性能测试方法
CN107220171A (zh) * 2016-03-22 2017-09-29 阿里巴巴集团控股有限公司 一种虚拟机的测试方法及装置
CN107229564A (zh) * 2016-03-25 2017-10-03 阿里巴巴集团控股有限公司 一种压力模拟方法及装置
CN107395456A (zh) * 2017-07-18 2017-11-24 郑州云海信息技术有限公司 分布式文件***流直存测试方法及平台
CN108075931A (zh) * 2016-11-10 2018-05-25 北京金山云网络技术有限公司 一种测试***、测试方法、控制服务器和执行服务器
CN108153634A (zh) * 2017-12-26 2018-06-12 郑州云海信息技术有限公司 分布式存储集群测试方法及装置
CN108182140A (zh) * 2013-05-21 2018-06-19 亚马逊科技公司 确定和监测计算机资源服务的性能能力
CN108415829A (zh) * 2018-02-02 2018-08-17 福建天晴数码有限公司 一种加载模块耗时检测的方法及终端
CN108874611A (zh) * 2017-05-12 2018-11-23 北京金山云网络技术有限公司 一种测试数据的构建方法及装置
CN108897656A (zh) * 2018-05-30 2018-11-27 郑州云海信息技术有限公司 一种自动化测试nas存储功能的方法及***
CN108933711A (zh) * 2018-06-29 2018-12-04 华勤通讯技术有限公司 终端设备的自动化测试方法和***
CN109460367A (zh) * 2018-11-16 2019-03-12 四川长虹电器股份有限公司 基于Jmeter可持续集成自动化性能测试的方法
CN111159009A (zh) * 2019-11-29 2020-05-15 深圳智链物联科技有限公司 一种日志服务***的压力测试方法及装置
CN111258882A (zh) * 2020-01-03 2020-06-09 恩亿科(北京)数据科技有限公司 一种基于数字媒体***的测试数据获取方法及装置
CN112395176A (zh) * 2020-11-16 2021-02-23 公安部第三研究所 实现针对分布式云存储性能进行测试的方法、装置、***、设备、处理器及其存储介质
CN112770108A (zh) * 2020-12-22 2021-05-07 深圳创维-Rgb电子有限公司 性能的测试方法、装置、***及计算机可读存储介质
CN114338492A (zh) * 2021-12-31 2022-04-12 苏州浪潮智能科技有限公司 虚拟网络性能的测试方法、装置、计算机设备及介质
CN117271359A (zh) * 2023-10-12 2023-12-22 润芯微软件(南京)有限公司 一种用于多种客户端应用场景的自动化测试***及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100422954C (zh) * 2006-03-10 2008-10-01 大唐移动通信设备有限公司 软件***多用户特性测试方法和***
CN102075384A (zh) * 2010-12-20 2011-05-25 创新科存储技术有限公司 一种性能测试***及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100422954C (zh) * 2006-03-10 2008-10-01 大唐移动通信设备有限公司 软件***多用户特性测试方法和***
CN102075384A (zh) * 2010-12-20 2011-05-25 创新科存储技术有限公司 一种性能测试***及方法

Cited By (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102799670A (zh) * 2012-07-16 2012-11-28 北京国创富盛通信股份有限公司 压力测试数据处理装置和压力测试数据处理方法
CN103034584B (zh) * 2012-12-05 2016-08-17 曙光信息产业(北京)有限公司 测试分布式锁的方法和装置
CN103034584A (zh) * 2012-12-05 2013-04-10 曙光信息产业(北京)有限公司 测试分布式锁的方法和装置
CN103902447B (zh) * 2012-12-27 2018-03-06 百度在线网络技术(北京)有限公司 一种分布式***的***测试方法及装置
CN103902447A (zh) * 2012-12-27 2014-07-02 百度在线网络技术(北京)有限公司 一种分布式***的***测试方法及装置
CN103973507A (zh) * 2013-02-01 2014-08-06 腾讯科技(深圳)有限公司 云测试***中上报测试结果的***、测试机及方法
CN103973507B (zh) * 2013-02-01 2018-09-28 腾讯科技(深圳)有限公司 云测试***中上报测试结果的***、测试机及方法
CN108182140A (zh) * 2013-05-21 2018-06-19 亚马逊科技公司 确定和监测计算机资源服务的性能能力
CN108182140B (zh) * 2013-05-21 2021-07-02 亚马逊科技公司 确定和监测计算机资源服务的性能能力
CN104731706A (zh) * 2013-12-19 2015-06-24 国际商业机器公司 用于使用分布式计算的测试管理的方法和装置
CN104794007A (zh) * 2015-04-29 2015-07-22 中国电力科学研究院 一种基于电力大数据平台海量数据并行处理的测试方法
CN104834576A (zh) * 2015-04-30 2015-08-12 捷鼎国际股份有限公司 基于虚拟机进行硬件装置测试的计算机***及方法
CN104834576B (zh) * 2015-04-30 2018-11-23 捷鼎创新股份有限公司 基于虚拟机进行硬件装置测试的计算机***及方法
CN105095084A (zh) * 2015-08-25 2015-11-25 浪潮(北京)电子信息产业有限公司 一种服务器虚拟化平台的虚拟机内存性能测试***及方法
CN105095084B (zh) * 2015-08-25 2018-02-09 浪潮(北京)电子信息产业有限公司 一种服务器虚拟化平台的虚拟机内存性能测试***及方法
CN107220171A (zh) * 2016-03-22 2017-09-29 阿里巴巴集团控股有限公司 一种虚拟机的测试方法及装置
CN107229564A (zh) * 2016-03-25 2017-10-03 阿里巴巴集团控股有限公司 一种压力模拟方法及装置
CN107229564B (zh) * 2016-03-25 2020-12-11 阿里巴巴集团控股有限公司 一种压力模拟方法及装置
CN108075931A (zh) * 2016-11-10 2018-05-25 北京金山云网络技术有限公司 一种测试***、测试方法、控制服务器和执行服务器
CN108075931B (zh) * 2016-11-10 2020-11-03 北京金山云网络技术有限公司 一种测试***、测试方法、控制服务器和执行服务器
CN106843965A (zh) * 2017-01-20 2017-06-13 郑州云海信息技术有限公司 一种自动安装***测试工具的***及安装方法
CN106933715A (zh) * 2017-03-14 2017-07-07 郑州云海信息技术有限公司 一种基于不同测试场景的服务器性能测试方法
CN108874611A (zh) * 2017-05-12 2018-11-23 北京金山云网络技术有限公司 一种测试数据的构建方法及装置
CN107395456A (zh) * 2017-07-18 2017-11-24 郑州云海信息技术有限公司 分布式文件***流直存测试方法及平台
CN107395456B (zh) * 2017-07-18 2021-06-29 郑州云海信息技术有限公司 分布式文件***流直存测试方法及平台
CN108153634A (zh) * 2017-12-26 2018-06-12 郑州云海信息技术有限公司 分布式存储集群测试方法及装置
CN108415829A (zh) * 2018-02-02 2018-08-17 福建天晴数码有限公司 一种加载模块耗时检测的方法及终端
CN108897656A (zh) * 2018-05-30 2018-11-27 郑州云海信息技术有限公司 一种自动化测试nas存储功能的方法及***
CN108933711B (zh) * 2018-06-29 2021-06-18 华勤技术股份有限公司 终端设备的自动化测试方法和***
CN108933711A (zh) * 2018-06-29 2018-12-04 华勤通讯技术有限公司 终端设备的自动化测试方法和***
CN109460367A (zh) * 2018-11-16 2019-03-12 四川长虹电器股份有限公司 基于Jmeter可持续集成自动化性能测试的方法
CN111159009A (zh) * 2019-11-29 2020-05-15 深圳智链物联科技有限公司 一种日志服务***的压力测试方法及装置
CN111159009B (zh) * 2019-11-29 2024-03-12 深圳智链物联科技有限公司 一种日志服务***的压力测试方法及装置
CN111258882A (zh) * 2020-01-03 2020-06-09 恩亿科(北京)数据科技有限公司 一种基于数字媒体***的测试数据获取方法及装置
CN111258882B (zh) * 2020-01-03 2023-08-25 恩亿科(北京)数据科技有限公司 一种基于数字媒体***的测试数据获取方法及装置
CN112395176A (zh) * 2020-11-16 2021-02-23 公安部第三研究所 实现针对分布式云存储性能进行测试的方法、装置、***、设备、处理器及其存储介质
CN112770108A (zh) * 2020-12-22 2021-05-07 深圳创维-Rgb电子有限公司 性能的测试方法、装置、***及计算机可读存储介质
CN114338492A (zh) * 2021-12-31 2022-04-12 苏州浪潮智能科技有限公司 虚拟网络性能的测试方法、装置、计算机设备及介质
CN114338492B (zh) * 2021-12-31 2023-08-25 苏州浪潮智能科技有限公司 虚拟网络性能的测试方法、装置、计算机设备及介质
CN117271359A (zh) * 2023-10-12 2023-12-22 润芯微软件(南京)有限公司 一种用于多种客户端应用场景的自动化测试***及方法
CN117271359B (zh) * 2023-10-12 2024-03-19 润芯微软件(南京)有限公司 一种用于多种客户端应用场景的自动化测试***及方法

Also Published As

Publication number Publication date
CN102567203B (zh) 2015-09-23

Similar Documents

Publication Publication Date Title
CN102567203A (zh) 一种测试分布式文件***性能的方法及***
CN109302522B (zh) 测试方法、装置以及计算机***和介质
CN100451989C (zh) 软件测试***及测试方法
CN102214139B (zh) 一种面向分布式***的自动化测试的执行控制与调度方法
CN102880532B (zh) 以云端技术为基础的测试***与方法
CN102141962B (zh) 一种安全性分布式测试框架***及其测试方法
CN104182288A (zh) 一种服务器集群***功耗自动化测试的方法
CN110515522B (zh) 设备数据的接入方法、装置、计算机设备和存储介质
CN107659455B (zh) 一种iOS端Mock数据的方法、存储介质、设备及***
CN110750458A (zh) 大数据平台测试方法、装置、可读存储介质及电子设备
CN106970880A (zh) 一种分布式自动化软件测试方法及***
CN107783902A (zh) 一种免于编码的Selenium自动化测试方法及***
CN103544100A (zh) 便携数据处理设备应用程序的测试方法、***和客户端
CN106850330B (zh) 智能化的云桌面性能测试***及方法
CN103019942A (zh) 一种基于安卓***的待测应用自动测试方法和***
CN105607994A (zh) 一种移动终端软件测试方法和***
CN101441592A (zh) 嵌入式***的测试***及方法
CN103716209A (zh) 一种隧道并发测试***和设备
CN104123397A (zh) Web页面的自动化测试装置及方法
CN101783755A (zh) 一种同步测试集群并行文件***性能的方法及装置
CN111812373A (zh) 一种PCIe主板信号自动测试装置
CN102789401B (zh) 基于柔性测试技术的测试流程控制方法和装置
CN109194535A (zh) 一种终端测试***及方法
CN107590061A (zh) 一种服务器虚拟化cpu性能测试方法
CN112054935B (zh) 一种可扩展的业务质量诊断配置方法及***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 518057 Room 501A, 9 Buildings, Shenzhen Software Park (Phase 2), No. 1 Science and Technology Middle Road, Nanshan High-tech Zone, Shenzhen, Guangdong Province

Co-patentee after: Innovation Technology Co., Ltd.

Patentee after: Shenzhen Innovation Software Technology Co., Ltd.

Address before: 518057 Section D West, 2nd Floor, 1st # Building, Industrial Building, Great Wall Computer Building, No. 3 Kefa Road, Nanshan District, Shenzhen City, Guangdong Province

Co-patentee before: Innovation and Technology Storage Technology Co., Ltd.

Patentee before: Chuangxinke Software Technology (Shenzhen) Co., Ltd.