CN115202944A - 硬盘性能测试方法、装置、设备及存储介质 - Google Patents

硬盘性能测试方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115202944A
CN115202944A CN202210713589.4A CN202210713589A CN115202944A CN 115202944 A CN115202944 A CN 115202944A CN 202210713589 A CN202210713589 A CN 202210713589A CN 115202944 A CN115202944 A CN 115202944A
Authority
CN
China
Prior art keywords
test
tested
testing
task
sub
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.)
Pending
Application number
CN202210713589.4A
Other languages
English (en)
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.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp 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 China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202210713589.4A priority Critical patent/CN115202944A/zh
Publication of CN115202944A publication Critical patent/CN115202944A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2268Logging of test results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开提供了一种硬盘性能测试方法、装置、设备及存储介质,涉及硬盘测试技术领域。测试服务器根据预设的测试任务对多个待测试硬盘进行并行测试,其中,测试任务包括多个子测试任务;监控每个待测试硬盘的测试进度,测试进度为子测试任务的进度;当执行一个子测试任务时,根据一个子测试任务的类型、一个子测试任务的测试进度和测试服务器的资源占用情况,确定多个待测试硬盘执行一个子测试任务的调度规则;根据调度规则对多个待测试硬盘执行一个子测试任务;在所有子测试任务完成后,获得性能测试结果。通过调度规则实现对多个待测试硬盘进行并行测试,缩短了硬盘的测试时间,提高了工作效率,从而满足人们对测试速度的需要。

Description

硬盘性能测试方法、装置、设备及存储介质
技术领域
本公开涉及硬盘测试技术领域,尤其涉及一种硬盘性能测试方法、装置、电子设备及计算机可读存储介质。
背景技术
随着当前企业数据规模持续增长,业务系统对数据的高速处理能力要求越来越高,硬盘可以实现数据的高速传输,因而配置硬盘的服务器可以满足大量的数据高速处理的需求。
在硬盘出厂之前,需要对硬盘进行性能测试,一般通过串行测试来对硬盘进行性能测试,使用一台测试服务器对多个硬盘进行串行测试,测试需要耗费大量时间,工作效率低,不能满足人们对测试速度的需要。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开提供一种硬盘性能测试方法、装置、设备及存储介质,至少在一定程度上克服硬盘测试需要耗费大量时间,工作效率低,不能满足人们对测试速度的需要的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种硬盘性能测试方法,所述方法包括:
根据预设的测试任务对多个待测试硬盘进行并行测试,其中,所述测试任务包括多个子测试任务,多个待测试硬盘并行挂接在测试服务器上;
监控每个所述待测试硬盘的测试进度,所述测试进度为所述子测试任务的进度;
当执行一个子测试任务时,根据所述一个子测试任务的类型、所述一个子测试任务的测试进度和测试服务器的资源占用情况,确定多个待测试硬盘执行所述一个子测试任务的调度规则;
根据所述调度规则对所述多个待测试硬盘执行所述一个子测试任务;
在所有子测试任务完成后,获得性能测试结果。
在本公开的一个实施例中,所述测试服务器的资源包括测试服务器的CPU核、测试服务器的numa节点和测试服务器的PCIe通道;
在所述根据预设的测试任务对多个待测试硬盘进行并行测试之前,所述方法还包括:
将多个所述待测试硬盘分为N组,其中,一组待测试硬盘对应一个numa节点,所述一个numa节点对应多个PCIe通道和多个CPU核;
一组待测试硬盘共用一个numa节点以及共用所述一个numa节点对应的多个CPU核;
所述一组待测试硬盘通过所述一个numa节点对应的所述多个PCIe通道并行挂载在所述测试服务器上;
将每组所述待测试硬盘中的每一个所述待测试硬盘与所述numa节点、所述CPU核和所述PCIe通道进行绑定,以执行所述待测试硬盘的子测试任务。
在本公开的一个实施例中,所述当执行一个子测试任务时,根据所述一个子测试任务的类型、所述一个子测试任务的测试进度和测试服务器的资源占用情况,确定多个待测试硬盘执行所述一个子测试任务的调度规则,包括:
查询所述测试服务器的资源占用情况;
判断当前子测试任务所需资源是否大于所述测试服务器的空闲资源;
若大于,则选择部分所述待测试硬盘并行执行所述当前子测试任务;
当部分所述待测试硬盘执行所述当前子测试任务执行完毕时,将部分所述待测试硬盘与对应的资源解绑,解绑后的资源与未进行所述当前子测试任务的所述待测试硬盘绑定,直至所有所述待测试硬盘执行完成所述当前子测试任务。
在本公开的一个实施例中,所述方法还包括:
若所述当前子测试任务所需资源小于或等于所述测试服务器的空闲资源,则全部所述待测试硬盘并行执行所述当前子测试任务。
在本公开的一个实施例中,所述方法还包括:
查询一组内的所述待测试硬盘执行所述当前子测试任务的测试进度;
当一组内的所述待测试硬盘均执行完成所述当前子测试任务时,执行下一个子测试任务,直至所有子测试任务执行完毕。
在本公开的一个实施例中,在所述在所有子测试任务完成后,获得性能测试结果之后,所述方法包括:
比较所述待测试硬盘的性能测试结果和预设测试阈值,根据比较结果确定所述待测试硬盘的性能测试结果,并生成测试日志信息;
根据测试日志信息和硬盘信息生成测试报告,所述硬盘信息包括所述待测试硬盘的数量、厂商名称、硬盘型号和读写速率。
在本公开的一个实施例中,所述子测试任务包括清除数据任务、随机读写初始化任务、随机读写性能测试任务、随机读写延时性能测试任务、顺序读写初始化任务和顺序读写性能测试任务。
在本公开的一个实施例中,在所述根据预设的测试任务对多个待测试硬盘进行并行测试之前,所述方法还包括:
根据镜像部署测试环境,所述待测试硬盘在所述测试环境中执行所述测试任务。
在本公开的一个实施例中,所述根据镜像部署测试环境,包括:
在所述测试服务器上部署用于所述待测试硬盘执行所述测试任务的操作系统;
在所述操作系统上安装Docker引擎;
在所述测试服务器上安装应用程序的Docker镜像,所述应用程序的Docker镜像通过所述Docker引擎获取;
利用所述应用程序的Docker镜像启动用于执行所述测试任务的Docker容器,形成基于Docker容器的应用程序集群的测试环境。
在本公开的一个实施例中,所述应用程序的Docker镜像包括测试工具、监控软件和依赖包,所述测试工具用于对所述待测试硬盘执行所述测试任务,所述监控软件用于监控多个所述待测试硬盘的测试进度和所述资源信息的占用信息,所述依赖包为所述测试工具和所述监控软件的编译运行提供保障。
在本公开的另一个实施例中,提供一种硬盘性能测试装置,所述装置包括:
性能测试模块,用于根据预设的测试任务对多个待测试硬盘进行并行测试,其中,所述测试任务包括多个子测试任务,多个待测试硬盘并行挂接在测试服务器上;
监控模块,用于监控每个所述待测试硬盘的测试进度,所述测试进度为所述子测试任务的进度;
调度规则建立模块,用于当执行一个子测试任务时,根据所述一个子测试任务的类型、所述一个子测试任务的测试进度和测试服务器的资源占用情况,确定多个待测试硬盘执行所述一个子测试任务的调度规则;
所述性能测试模块,还用于根据所述调度规则对所述多个待测试硬盘执行所述一个子测试任务;
测试结果生成模块,用于在所有子测试任务完成后,获得性能测试结果。
根据本公开的再一个方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述的专网业务策略控制方法。
根据本公开的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的专网业务策略控制方法。
根据本公开的又一个方面,提供一种计算程序产品,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或所述计算机指令由处理器加载并执行,以使计算机实现上述任一所述的硬盘性能测试方法。
本公开的实施例所提供的一种硬盘性能测试方法、装置、设备及存储介质,测试服务器根据预设的测试任务对多个待测试硬盘进行并行测试,其中,测试任务包括多个子测试任务;监控每个待测试硬盘的测试进度,测试进度为子测试任务的进度;当执行一个子测试任务时,根据一个子测试任务的类型、一个子测试任务的测试进度和测试服务器的资源占用情况,确定多个待测试硬盘执行一个子测试任务的调度规则;根据调度规则对多个待测试硬盘执行一个子测试任务;在所有子测试任务完成后,获得性能测试结果。通过调度规则实现对多个待测试硬盘进行并行测试,缩短了硬盘的测试时间,提高了工作效率,从而满足人们对测试速度的需要。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本公开实施例中一种硬盘性能测试系统架构的示意图;
图2示出本公开实施例中一种硬盘性能测试方法流程图;
图3示出本公开实施例中一种硬盘性能测试方法中的调度规则流程图;
图4示出本公开实施例中根据镜像部署测试环境的流程图;
图5示出本公开实施例中测试服务器的资源架构图;
图6示出本公开实施例中一种硬盘性能测试装置示意图;
图7示出本公开实施例中一种电子设备的结构框图;
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
下面结合附图,对本公开实施例的具体实施方式进行详细说明。
图1示出了可以应用本公开实施例中硬盘性能测试方法的示例性应用系统架构示意图。
如图1所示,该系统架构包括测试服务器101、多个待测试硬盘102和连接器件103,测试服务器101可以为台式机、笔记本电脑或其他类型具有处理能力的设备,多个待测试硬盘102通过连接器件103并行挂载在测试服务器101上,连接器件103用于将多个待测试硬盘102连接在测试服务器101上,连接器件103可以为交换机、接口连接线或其他类型可以将待测试硬盘102连接到测试服务器101上的器件。
本领域技术人员可以知晓,图1中的测试服务器101、待测试硬盘102和连接器件103的数量仅仅是示意性的,根据实际需要,可以具有任意数目的试服务器101、待测试硬盘102和连接器件103。本公开实施例对此不作限定。
在对待测试硬盘102进行性能测试之前,在测试服务器101上部署用于测试的容器化环境或虚拟机,简化了测试平台的部署,且部署效率高。在上述系统架构下,本公开实施例中提供了一种硬盘性能测试,测试服务器101根据预设的测试任务对多个待测试硬盘进行并行测试,其中,测试任务包括多个子测试任务;测试服务器101监控每个待测试硬盘的测试进度,测试进度为子测试任务的进度;当执行一个子测试任务时,测试服务器101根据一个子测试任务的类型、一个子测试任务的测试进度和测试服务器的资源占用情况,确定多个待测试硬盘执行一个子测试任务的调度规则;测试服务器101还根据调度规则对多个待测试硬盘执行一个子测试任务;在所有子测试任务完成后,获得性能测试结果。该方法可以应用在硬盘测试的场景中,测试的硬盘可以是机械硬盘、SATA SSD(固态硬盘)、NVMe硬盘(非易失性内存主机控制器接口规范硬盘)、SSD U.2硬盘(U.2接口固态硬盘)或NVMe SSDAIC卡等。
NVMe硬盘具有低延迟,低能耗,高性能,可拓展性等优点。NVMe硬盘深受人们的喜爱,在NVMe硬盘出厂之前,需要对NVMe硬盘进行性能测试,由于NVMe硬盘性能是传统硬盘的100倍以上,CPU(Central Processing Unit,中央处理器)资源和带宽资源专用率较高,为了避免测试的时候互相影响,一般采用串行测试测出最大性能,使用一台测试服务器对多个硬盘进行串行测试,串行测试需要耗费大量时间,工作效率低,不能满足人们对测试速度的需要。
本申请通过调度规则充分利用测试服务器101的CPU资源和带宽资源,实现对多个NVMe硬盘的并行测试,缩短了NVMe硬盘的测试时间,提高了工作效率,从而满足人们对测试速度的需要。
在一些实施例中,本公开实施例中提供的硬盘性能测试方法,可以在图1所示的测试服务器101中执行。
图2示出本公开实施例中一种硬盘性能测试方法流程图,如图2所示,本公开实施例中提供的硬盘性能测试方法,包括如下步骤:
步骤S202,根据预设的测试任务对多个待测试硬盘进行并行测试,其中,测试任务包括多个子测试任务,多个待测试硬盘并行挂接在测试服务器上。
多个待测试硬盘并行挂载在测试服务器,测试服务器同时对多个待测试硬盘进行性能测试,测试服务器上预设有用于测试待测试硬盘的测试任务,测试任务用于测试待测试硬盘的读写速度、延时时间等性能,测试任务由多个子测试任务组成,子测试任务可以为清除数据、随机读写初始化、随机读写性能测试、随机读写延时性能测试、顺序读写初始化或顺序读写性能测试。
步骤S204,监控每个待测试硬盘的测试进度,测试进度为子测试任务的进度。
测试服务器可以监控子测试任务的测试进度,测试进度可以是比值,也可以是差值、或者也可以是以其他形式体现的能够体现出测试进度的情况。
步骤S206,当执行一个子测试任务时,根据一个子测试任务的类型、一个子测试任务的测试进度和测试服务器的资源占用情况,确定多个待测试硬盘执行一个子测试任务的调度规则。
测试服务器的资源包括CPU、CPU核、numa(非统一内存访问)节点和PCIe(周边设备高速连接标准)通道,当待测试硬盘进行性能测试时,需要占用测试服务器的资源,来对待测试硬盘进行测试。
调度规则通过子测试任务、子测试任务对应的测试进度和测试服务器的资源占用情况来确定,用于调度待测试硬盘执行测试任务。
步骤S208,根据调度规则对多个待测试硬盘执行一个子测试任务。
在步骤S208中,调度规则用于调度未进行子测试任务的待测试硬盘与空闲的资源进行绑定,从而执行子测试任务,当所有待测试硬盘均完成该子测试任务后,调度规则还用于调度所有待测试硬盘执行下一子测试任务,直至所有的子测试任务执行完毕。
步骤S210,在所有子测试任务完成后,获得性能测试结果。
性能测试结果可以是待测试硬盘性能测试的性能结果,也可以判断结果(合格或者不合格),判断结果是用测试得出的性能结果与预设的性能结果进行比较,若性能结果与预设的性能结果性能相同或更优,则为合格,反之,为不合格。
在图2所示的本申请实施例中,本申请通过调度规则实现对多个待测试硬盘进行并行测试,缩短了待测试硬盘的测试时间,提高了工作效率,从而满足人们对测试速度的需要。
在一些实施例中,测试服务器的资源包括测试服务器的CPU核、测试服务器的numa节点和测试服务器的PCIe通道;
在根据预设的测试任务对多个待测试硬盘进行并行测试之前,方法还包括:
将多个待测试硬盘分为N组,其中,一组待测试硬盘对应一个numa节点,一个numa节点对应多个PCIe通道和多个CPU核;
一组待测试硬盘共用一个numa节点以及共用一个numa节点对应的多个CPU核;
一组待测试硬盘通过一个numa节点对应的多个PCIe通道并行挂载在测试服务器上;
将每组待测试硬盘中的每一个待测试硬盘与numa节点、CPU核和PCIe通道进行绑定,以执行待测试硬盘的子测试任务。
示例性的,测试服务器对N组待测试硬盘同时进行并行测试,每组待测试硬盘对应一个numa节点、多个PCIe通道和多个CPU核,待测试硬盘通过PCIE交换机并行挂载在测试服务器上,通过与PCIe通道进行绑定实现与测试服务器的连接,numa节点和CPU核均用于对待测试硬盘进行读写,执行测试任务。
图3示出本公开实施例中一种硬盘性能测试方法中的调度规则流程图,如图3所示,在一些实施例中,当执行一个子测试任务时,根据一个子测试任务的类型、一个子测试任务的测试进度和测试服务器的资源占用情况,确定多个待测试硬盘执行一个子测试任务的调度规则,包括:
步骤S301,查询测试服务器的资源占用情况;
步骤S302,判断当前子测试任务所需资源是否大于测试服务器的空闲资源;若大于,则执行S303;
步骤S303,若大于,则选择部分待测试硬盘并行执行当前子测试任务;
步骤S304,查询一组内的待测试硬盘执行当前子测试任务的测试进度;
步骤S305,判断当前子测试任务是否执行完毕,若未执行完毕,则执行步骤S303;若执行完毕,则执行步骤S306;
步骤S306,判断所有子测试任务是否执行完毕,若执行完毕,则完成测试,若未执行完毕,则执行步骤S307;
步骤S307,执行下一个子测试任务。
当一组内的待测试硬盘均执行完成当前子测试任务时,执行下一个子测试任务,直至所有子测试任务执行完毕。
当部分待测试硬盘执行当前子测试任务执行完毕时,将部分待测试硬盘与对应的资源解绑,解绑后的资源与未进行当前子测试任务的待测试硬盘绑定,直至所有待测试硬盘执行完成当前子测试任务。
示例性的,测试服务器的一个numa节点上并行挂载有4个待测试硬盘,每个numa节点对应8个PCIe通道和16个CPU核,在执行随机读写性能测试的子测试任务时,每个待测试硬盘需要占用4个PCIe通道和8个CPU核,4个待测试硬盘同时测试需要占用16个PCIe通道和32个CPU核,16个PCIe通道大于8个PCIe通道,32个CPU核大于16个CPU核,当前子测试任务所需资源大于测试服务器的空闲资源,选择部分待测试硬盘并行执行当前子测试任务,由于测试服务器的资源8个PCIe通道和16个CPU核可以满足两个待测试硬盘进行同时测试,故先对两个待测试硬盘进行测试,当两个待测试硬盘测试完毕后,对资源进行解绑,再对未进行当前子测试任务的两个待测试硬盘绑定,从而完成当前子测试任务。
如图3所示,在一些实施例中,当执行一个子测试任务时,根据一个子测试任务的类型、一个子测试任务的测试进度和测试服务器的资源占用情况,确定多个待测试硬盘执行一个子测试任务的调度规则,还包括:
步骤S308,若当前子测试任务所需资源小于或等于测试服务器的空闲资源,则全部待测试硬盘并行执行当前子测试任务;
步骤S309,查询一组内的待测试硬盘执行当前子测试任务的测试进度;
步骤S310,判断当前子测试任务是否执行完毕,若执行完毕,则执行步骤S306,若未执行完毕,则执行步骤S308。
示例性的,测试服务器的一个numa节点上并行挂载有4个待测试硬盘,每个numa节点对应8个PCIe通道和16个CPU核,在执行清除数据的子测试任务时,由于清除数据需要占用测试服务器的资源较少,不需要独占用CPU核、numa节点和PCIe通道,当前子测试任务所需资源小于测试服务器的空闲资源,4个待测试硬盘并行进行当前子测试任务的测试,当前子测试任务的测试执行完毕后,执行步骤S306,步骤S306如何执行在上文已进行描述,此处不再赘述。
在一些实施例中,子测试任务包括顺序执行的清除数据任务、随机读写初始化任务、随机读写性能测试任务、随机读写延时性能测试任务、顺序读写初始化任务和顺序读写性能测试任务。
示例性的,待测试硬盘依次执行清除数据、随机读写初始化、随机读写性能测试、随机读写延时性能测试、顺序读写初始化和顺序读写性能测试,当依次执行完上述子测试任务后,测试完成。
在一些实施例中,在所有子测试任务完成后,获得性能测试结果之后,方法包括:
比较待测试硬盘的性能测试结果和预设测试阈值,根据比较结果确定待测试硬盘的性能测试结果,并生成测试日志信息;
根据测试日志信息和硬盘信息生成测试报告,硬盘信息包括待测试硬盘的数量、厂商名称、硬盘型号和读写速率。
需要说明的是,测试报告上记载有待测试硬盘的基本信息,例如厂商名称、硬盘型号和读写速率等,测试报告上还记载待测试硬盘测试出来的性能以及待测试硬盘是否合格,待测试硬盘测试出来的性能包括硬盘的读写速度、延时性能和硬盘的容量等。
在一些实施例中,根据预设的测试任务对多个待测试硬盘进行并行测试之前,方法还包括:
根据镜像部署测试环境,待测试硬盘在测试环境中执行测试任务。
需要说明的是,测试环境是指为了完成待测试硬件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称,可以保障待测试硬件的性能测试。
图4示出本公开实施例中根据镜像部署测试环境的流程图,如图4所示,根据镜像部署测试环境,包括如下步骤:
步骤S402,在测试服务器上部署用于待测试硬盘执行测试任务的操作系统。
对于操作系统,测试人员通过操作系统实现人机的交互,便于测试人员启动测试任务,对待测试硬盘进行并行测试。
步骤S404,在操作系统上安装Docker引擎。
Docker引擎,是一个开源的应用容器引擎,让测试人员可以打包应用工具以及依赖包到一个可移植的容器中,然后发送至到任何Linux系统或windows系统的机器上,也可以实现虚拟化,从而简化测试平台的调试。
步骤S406,在测试服务器上安装应用程序的Docker镜像,应用程序的Docker镜像通过Docker引擎获取。
在一些实施例中,应用程序的Docker镜像包括测试工具、监控软件和依赖包,测试工具用于对待测试硬盘执行测试任务,监控软件用于监控多个待测试硬盘的测试进度和资源信息的占用信息,依赖包为测试工具和监控软件的编译运行提供保障。
步骤S408,利用应用程序的Docker镜像启动用于执行测试任务的Docker容器,形成基于Docker容器的应用程序集群的测试环境。
相关技术中,对待测试硬盘进行测试之前,首先要部署测试平台,部署测试平台存在异构测试环境部署的问题,针对异构测试平台,需要进行需要安装测试工具、监控软件、依赖包等,这些软件在异构测试平台上版本众多、依赖包复杂,容易配置出错。需要依赖经验丰富的人员完成,需要导致测试结果管控工作量大。本申请通过根据镜像部署测试环境,Docker(应用容器引擎)镜像包括测试工具、监控软件、依赖包,简化了测试环境部署,提高了部署效率,保证测试数据的有效性。
在一些实施例中,在测试服务器上根据镜像部署测试环境,对16个NVMe硬盘进行并行测试,16个NVMe硬盘通过PCIe交换机并行挂载在测试服务器上,测试服务器的型号为Kunpeng 920(48Cores,2.6GHz),测试服务器有两个CPU,每个CPU有两个numa节点,每个numa节点有8个PCIe通道,每个numa节点上挂载4个NVME盘,一共可以挂载16个NVMe硬盘。
图5示出本公开实施例中测试服务器的资源架构图,如图5所示,测试服务器有2个CUP(即CUP0、CUP1),测试服务器共有4个numa节点(即numa0、numa1、numa2、numa3,其中numa0、numa1归属CUP0,numa2、numa3归属CUP1);每个CPU有32个CPU核,即测试服务器共有64个CPU核(core0-core63),其中,core0-core15归属numa0,core16-core31归属numa1,core32-core47归属numa2,core48-core63归属numa3;测试服务器共有32个PCIe通道(PCIe0-PCIe31),PCIe通道归属于numa节点,其中,PCIe0-PCIe7归属numa0,PCIe8-PCIe15归属numa1,PCIe16-PCIe23归属numa2,PCIe24-PCIe31归属numa3。
将16个待测试的NVMe硬盘分为4组,其中,每组4个NVMe硬盘,4个NVMe硬盘对应一个numa节点,一个numa节点对应8个PCIe通道和16个CPU核,因为每个numa节点挂载了4个NVMe硬盘,所以NVMe硬盘共享PCIe通道,每个NVMe硬盘性能最大时候占4个PCIe通道,所以需要保证不超过2个NVMe硬盘同时进行随机读写性能测试或者顺序读写性能测试。
下面以1组NVMe硬盘进行并行测试为例来进行说明,其他3个numa节点同步进行NVMe硬盘并行测试,各个numa节点在测试NVMe硬盘性能时相互不干扰。
NVMe硬盘依次执行下述子测试任务,清除数据、随机读写初始化、随机读写性能测试、随机读写延时性能测试、顺序读写初始化和顺序读写性能测试。
(1)清除数据
清空待测试NVMe硬盘内的数据,清除数据可以使待测试NVMe硬盘的起点保持一致,以下使用通用的开源工具nvme-cli命令,device变量表示待测试NVMe硬盘,将待测试NVMe硬盘格式化,格式化待测试NVMe硬盘可以用nvme format$device命令执行,测试服务器的资源可以满足4个待测试NVMe硬盘同时进行清除数据所需的资源,4个待测试NVMe硬盘同时进行清除数据。
(2)随机读写初始化
测试服务器的资源可以满足4个待测试NVMe硬盘同时进行随机读写初始化所需的资源,对4个待测试NVMe硬盘同时进行随机读写初始化,对格式化的待测试NVMe硬盘先顺序写2遍,使待测试NVMe硬盘内存填满数据,然后用4K随机写4个小时,使待测试NVMe硬盘进入到随机稳态的状态。
需要说明的是,随机读写初始化不需要独占测试服务器的资源。
(3)随机读写性能测试
由于进行随机读写性能测试时,1个待测试NVMe硬盘需要绑定1个numa节点中的8个CPU核,还需占用4个PCIe通道,1个numa节点对应的8个PCIe通道和16个CPU核,由于4个待测试NVMe硬盘测试需要占用32个CPU核,所需占用的CPU核数大于待测试服务器一个numa节点对应的CPU核数,无法满足4个待测试NVMe硬盘同时进行随机读写性能测试,1个numa节点对应的8个PCIe通道和16个CPU核可以满足2个待测试NVMe硬盘进行并行测试,则先对2个待测试NVMe硬盘进行并行测试,这2个待测试NVMe硬盘完成随机读写性能测试后,再对未进行随机读写性能测试的2个待测试NVMe硬盘,进行随机读写性能测试。
随机读写性能测试需要的测试工具为fio(命令行工具),用fio测试待测试NVMe硬盘的IOPS(每秒进行读写操作的次数)。
在fio测试时候,为了提高性能,需要绑定numa节点(参数numa_cpu_nodes)和CPU核(绑定核参数taskset-c 0,1,2,4-7),一般是一个任务(numjobs=x)对应1个CPU核。
测试程序如下:
#4k Random Read
脚本示例:
taskset-c$core fio......--numjobs=8--iodepth=64--numa_cpu_nodes=$numa--filename=$device--rw=randread--bs=4k--output=4K_randR.log
#4k Random Write
taskset-c$core fio......--numjobs=8--iodepth=64--numa_cpu_nodes=$numa--filename=$device--rw=randwrite--bs=4k--output=4K_randR.log
(4)随机读写延时性能测试
由于进行随机读写延时性能测试时,1个待测试NVMe硬盘需要绑定1个CPU核,随机占用PCIe通道即可,测试服务器的资源可以满足4个待测试NVMe硬盘同时进行随机读写延时性能测试所需的资源,4个待测试NVMe硬盘同时进行随机读写延时性能测试。
以下先进行4K随机读延时测试,然后再进行4K随机写延时测试,分别测试半个小时,其结果反映待测试NVMe硬盘能达到的最优读写延时。
#4k Random Read latency
taskset-c$core fio......--numjobs=1--iodepth=1--numa_cpu_nodes=$numa--filename=$device--rw=randread--bs=4k--output=4K_randR_latency.log
#4k Random Write latency
taskset-c$core fio......--numjobs=1--iodepth=1--numa_cpu_nodes=$numa--filename=$device--rw=randwrite--bs=4k--output=4K_randR_latency.log
(5)顺序读写初始化
由于进行顺序读写初始化测试时,1个待测试NVMe硬盘随机占用CPU核和PCIe通道即可,测试服务器的资源可以满足4个待测试NVMe硬盘同时进行顺序读写初始化所需的资源,4个待测试NVMe硬盘同时进行顺序读写初始化。
在前序随机读写延时性能测试的基础上,通过对待测试NVMe硬盘进行全盘顺序写两遍,使待测试NVMe硬盘进入的顺序稳态状态,为后续读写带宽做准备
(6)顺序读写性能测试
由于进行顺序读写性能测试时,1个待测试NVMe硬盘需要占用4个PCIe通道,随机占用CPU核,1个numa节点对应的8个PCIe通道和16个CPU核,由于4个待测试NVMe硬盘测试所需占用16个PCIe通道,所需占用的PCIe通道数大于待测试服务器一个numa节点对应的PCIe通道数,无法满足4个待测试NVMe硬盘同时进行顺序读写性能测试,1个numa节点对应的8个PCIe通道和16个CPU核可以满足2个待测试NVMe硬盘进行并行测试,则先对2个待测试NVMe硬盘进行并行测试,这2个待测试NVMe硬盘完成顺序读写性能测试后,再对未进行顺序读写性能测试的2个待测试NVMe硬盘,进行顺序读写性能测试。
以下先进行1M顺序读带宽测试,然后再进行顺序写带宽测试,分别测试一个小时。其结果反映待测试NVMe硬盘处理顺序IO访问的能力。
#1MB Seq Read
fio......--numjobs=1--iodepth=128--numa_cpu_nodes=$numa--filename=$device--rw=read--bs=1m--output=1MB_seqR.log
#1MB Seq Write
fio......--numjobs=1--iodepth=128--numa_cpu_nodes=$numa--filename=$device--rw=write--bs=1m--output=1MB_seqR.log
测试服务器完成上述子测试任务后,生成性能测试结果,比较待测试NVMe硬盘的性能测试结果和预设测试阈值,根据比较结果确定待测试NVMe硬盘的性能测试结果,并生成测试日志信息。
基于同一发明构思,本公开实施例中还提供了一种硬盘性能测试装置,如下面的实施例所述。由于该装置实施例解决问题的原理与上述方法实施例相似,因此该装置实施例的实施可以参见上述方法实施例的实施,重复之处不再赘述。
图6示出本公开实施例中一种硬盘性能测试装置示意图,如图6所示,该装置包括性能测试模块61、监控模块62、调度规则建立模块63和测试结果生成模块64,其中:
性能测试模块61,用于根据预设的测试任务对多个待测试硬盘进行并行测试,其中,测试任务包括多个子测试任务,多个待测试硬盘并行挂接在测试服务器上;
监控模块62,用于监控每个待测试硬盘的测试进度,测试进度为子测试任务的进度;
调度规则建立模块63,用于当执行一个子测试任务时,根据一个子测试任务的类型、一个子测试任务的测试进度和测试服务器的资源占用情况,确定多个待测试硬盘执行一个子测试任务的调度规则;
性能测试模块61,还用于根据调度规则对多个待测试硬盘执行一个子测试任务;
测试结果生成模块64,用于在所有子测试任务完成后,获得性能测试结果。
在本公开的一些实施例中,测试服务器的资源包括测试服务器的CPU核、测试服务器的numa节点和测试服务器的PCIe通道;
性能测试模块61用于在根据预设的测试任务对多个待测试硬盘进行并行测试之前,
将多个待测试硬盘分为N组,其中,一组待测试硬盘对应一个numa节点,一个numa节点对应多个PCIe通道和多个CPU核;
一组待测试硬盘共用一个numa节点以及共用一个numa节点对应的多个CPU核;
一组待测试硬盘通过一个numa节点对应的多个PCIe通道并行挂载在测试服务器上;
性能测试模块61还将每组待测试硬盘中的每一个待测试硬盘与numa节点、CPU核和PCIe通道进行绑定,以执行待测试硬盘的子测试任务。
在本公开的一些实施例中,调度规则建立模块63,用于查询测试服务器的资源占用情况;
判断当前子测试任务所需资源是否大于测试服务器的空闲资源;
若大于,则选择部分待测试硬盘并行执行当前子测试任务;
当部分待测试硬盘执行当前子测试任务执行完毕时,将部分待测试硬盘与对应的资源解绑,解绑后的资源与未进行当前子测试任务的待测试硬盘绑定,直至所有待测试硬盘执行完成当前子测试任务。
在本公开的一些实施例中,调度规则建立模块63,还用于若当前子测试任务所需资源小于或等于测试服务器的空闲资源,则全部待测试硬盘并行执行所述当前子测试任务。
在本公开的一些实施例中,调度规则建立模块63,还用于查询一组内的待测试硬盘执行当前子测试任务的测试进度;
当一组内的待测试硬盘均执行完成当前子测试任务时,执行下一个子测试任务,直至所有子测试任务执行完毕。
在本公开的一些实施例中,测试结果生成模块64,用于在所有子测试任务完成后,获得性能测试结果之后,比较待测试硬盘的性能测试结果和预设测试阈值,根据比较结果确定待测试硬盘的性能测试结果,并生成测试日志信息;
根据测试日志信息和硬盘信息生成测试报告,硬盘信息包括待测试硬盘的数量、厂商名称、硬盘型号和读写速率。
在本公开的一些实施例中,子测试任务包括清除数据任务、随机读写初始化任务、随机读写性能测试任务、随机读写延时性能测试任务、顺序读写初始化任务和顺序读写性能测试任务。
在本公开的一些实施例中,性能测试模块61,用于在根据预设的测试任务对多个待测试硬盘进行并行测试之前,根据镜像部署测试环境,待测试硬盘在测试环境中执行测试任务。
在本公开的一些实施例中,性能测试模块61,用于在测试服务器上部署用于待测试硬盘执行测试任务的操作系统;
在操作系统上安装Docker引擎;
在测试服务器上安装应用程序的Docker镜像,应用程序的Docker镜像通过Docker引擎获取;
利用应用程序的Docker镜像启动用于执行测试任务的Docker容器,形成基于Docker容器的应用程序集群的测试环境。
在本公开的一些实施例中,应用程序的Docker镜像包括测试工具、监控软件和依赖包,测试工具用于对待测试硬盘执行测试任务,监控软件用于监控多个待测试硬盘的测试进度和资源信息的占用信息,依赖包为测试工具和监控软件的编译运行提供保障。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图7来描述根据本公开的这种实施方式的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:上述至少一个处理单元710、上述至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元710执行,使得所述处理单元710执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元710可以执行上述方法实施例的如下步骤:根据预设的测试任务对多个待测试硬盘进行并行测试,其中,测试任务包括多个子测试任务,多个待测试硬盘并行挂接在测试服务器上;监控每个待测试硬盘的测试进度,测试进度为子测试任务的进度;当执行一个子测试任务时,根据一个子测试任务的类型、一个子测试任务的测试进度和测试服务器的资源占用情况,确定多个待测试硬盘执行一个子测试任务的调度规则;根据调度规则对多个待测试硬盘执行一个子测试任务;在所有子测试任务完成后,获得性能测试结果。
存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)721和/或高速缓存存储单元722,还可以进一步包括只读存储单元(ROM)723。
存储单元720还可以包括具有一组(至少一个)程序模块725的程序/实用工具724,这样的程序模块725包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备700也可以与一个或多个外部设备740(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器760通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质可以是可读信号介质或者可读存储介质。其上存储有能够实现本公开上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
本公开中的计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
在本公开中,计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可选地,计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
在本公开的示例性实施例中,还提供了一种计算程序产品,计算机程序产品包括计算机程序或计算机指令,计算机程序或计算机指令由处理器加载并执行,以使计算机实现上述任一的硬盘性能测试方法。
在具体实施时,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围由所附的权利要求指出。

Claims (13)

1.一种硬盘性能测试方法,其特征在于,所述方法包括:
根据预设的测试任务对多个待测试硬盘进行并行测试,其中,所述测试任务包括多个子测试任务,多个待测试硬盘并行挂接在测试服务器上;
监控每个所述待测试硬盘的测试进度,所述测试进度为所述子测试任务的进度;
当执行一个子测试任务时,根据所述一个子测试任务的类型、所述一个子测试任务的测试进度和测试服务器的资源占用情况,确定多个待测试硬盘执行所述一个子测试任务的调度规则;
根据所述调度规则对所述多个待测试硬盘执行所述一个子测试任务;
在所有子测试任务完成后,获得性能测试结果。
2.根据权利要求1所述的硬盘性能测试方法,其特征在于,所述测试服务器的资源包括测试服务器的CPU核、测试服务器的numa节点和测试服务器的PCIe通道;
在所述根据预设的测试任务对多个待测试硬盘进行并行测试之前,所述方法还包括:
将多个所述待测试硬盘分为N组,其中,一组待测试硬盘对应一个numa节点,所述一个numa节点对应多个PCIe通道和多个CPU核;
一组待测试硬盘共用一个numa节点以及共用所述一个numa节点对应的多个CPU核;
所述一组待测试硬盘通过所述一个numa节点对应的所述多个PCIe通道并行挂载在所述测试服务器上;
将每组所述待测试硬盘中的每一个所述待测试硬盘与所述numa节点、所述CPU核和所述PCIe通道进行绑定,以执行所述待测试硬盘的子测试任务。
3.根据权利要求2所述的硬盘性能测试方法,其特征在于,所述当执行一个子测试任务时,根据所述一个子测试任务的类型、所述一个子测试任务的测试进度和测试服务器的资源占用情况,确定多个待测试硬盘执行所述一个子测试任务的调度规则,包括:
查询所述测试服务器的资源占用情况;
判断当前子测试任务所需资源是否大于所述测试服务器的空闲资源;
若大于,则选择部分所述待测试硬盘并行执行所述当前子测试任务;
当部分所述待测试硬盘执行所述当前子测试任务执行完毕时,将部分所述待测试硬盘与对应的资源解绑,解绑后的资源与未进行所述当前子测试任务的所述待测试硬盘绑定,直至所有所述待测试硬盘执行完成所述当前子测试任务。
4.根据权利要求3所述的硬盘性能测试方法,其特征在于,所述方法还包括:
若所述当前子测试任务所需资源小于或等于所述测试服务器的空闲资源,则全部所述待测试硬盘并行执行所述当前子测试任务。
5.根据权利要求3或4所述的硬盘性能测试方法,其特征在于,所述方法还包括:
查询一组内的所述待测试硬盘执行所述当前子测试任务的测试进度;
当一组内的所述待测试硬盘均执行完成所述当前子测试任务时,执行下一个子测试任务,直至所有子测试任务执行完毕。
6.根据权利要求1所述的硬盘性能测试方法,其特征在于,在所述在所有子测试任务完成后,获得性能测试结果之后,所述方法包括:
比较所述待测试硬盘的性能测试结果和预设测试阈值,根据比较结果确定所述待测试硬盘的性能测试结果,并生成测试日志信息;
根据测试日志信息和硬盘信息生成测试报告,所述硬盘信息包括所述待测试硬盘的数量、厂商名称、硬盘型号和读写速率。
7.根据权利要求1所述的硬盘性能测试方法,其特征在于,所述子测试任务包括清除数据任务、随机读写初始化任务、随机读写性能测试任务、随机读写延时性能测试任务、顺序读写初始化任务和顺序读写性能测试任务。
8.根据权利要求1所述的硬盘性能测试方法,其特征在于,在所述根据预设的测试任务对多个待测试硬盘进行并行测试之前,所述方法还包括:
根据镜像部署测试环境,所述待测试硬盘在所述测试环境中执行所述测试任务。
9.根据权利要求8所述的硬盘性能测试方法,其特征在于,所述根据镜像部署测试环境,包括:
在所述测试服务器上部署用于所述待测试硬盘执行所述测试任务的操作系统;
在所述操作系统上安装Docker引擎;
在所述测试服务器上安装应用程序的Docker镜像,所述应用程序的Docker镜像通过所述Docker引擎获取;
利用所述应用程序的Docker镜像启动用于执行所述测试任务的Docker容器,形成基于Docker容器的应用程序集群的测试环境。
10.根据权利要求9所述的硬盘性能测试方法,其特征在于,所述应用程序的Docker镜像包括测试工具、监控软件和依赖包,所述测试工具用于对所述待测试硬盘执行所述测试任务,所述监控软件用于监控多个所述待测试硬盘的测试进度和所述资源信息的占用信息,所述依赖包为所述测试工具和所述监控软件的编译运行提供保障。
11.一种硬盘性能测试装置,其特征在于,包括:
性能测试模块,用于根据预设的测试任务对多个待测试硬盘进行并行测试,其中,所述测试任务包括多个子测试任务,多个待测试硬盘并行挂接在测试服务器上;
监控模块,用于监控每个所述待测试硬盘的测试进度,所述测试进度为所述子测试任务的进度;
调度规则建立模块,用于当执行一个子测试任务时,根据所述一个子测试任务的类型、所述一个子测试任务的测试进度和测试服务器的资源占用情况,确定多个待测试硬盘执行所述一个子测试任务的调度规则;
所述性能测试模块,还用于根据所述调度规则对所述多个待测试硬盘执行所述一个子测试任务;
测试结果生成模块,用于在所有子测试任务完成后,获得性能测试结果。
12.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-10中任意一项所述硬盘性能测试方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-10中任意一项所述的硬盘性能测试方法。
CN202210713589.4A 2022-06-22 2022-06-22 硬盘性能测试方法、装置、设备及存储介质 Pending CN115202944A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210713589.4A CN115202944A (zh) 2022-06-22 2022-06-22 硬盘性能测试方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210713589.4A CN115202944A (zh) 2022-06-22 2022-06-22 硬盘性能测试方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN115202944A true CN115202944A (zh) 2022-10-18

Family

ID=83575696

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210713589.4A Pending CN115202944A (zh) 2022-06-22 2022-06-22 硬盘性能测试方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115202944A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116013401A (zh) * 2023-03-24 2023-04-25 长鑫存储技术有限公司 存储器调试方法、装置、设备及存储介质
CN117472294A (zh) * 2023-12-28 2024-01-30 合肥康芯威存储技术有限公司 一种存储器及其数据处理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116013401A (zh) * 2023-03-24 2023-04-25 长鑫存储技术有限公司 存储器调试方法、装置、设备及存储介质
CN116013401B (zh) * 2023-03-24 2023-08-11 长鑫存储技术有限公司 存储器调试方法、装置、设备及存储介质
CN117472294A (zh) * 2023-12-28 2024-01-30 合肥康芯威存储技术有限公司 一种存储器及其数据处理方法
CN117472294B (zh) * 2023-12-28 2024-04-09 合肥康芯威存储技术有限公司 一种存储器及其数据处理方法

Similar Documents

Publication Publication Date Title
CN115202944A (zh) 硬盘性能测试方法、装置、设备及存储介质
JP6840125B2 (ja) データボリュームの動的な構成
US9785472B2 (en) Computing cluster performance simulation using a genetic algorithm solution
CN102880532B (zh) 以云端技术为基础的测试系统与方法
JP5926864B2 (ja) クラウドコンピューティングシステムをコンフィギュアするためのシステム及び方法
US20200234211A1 (en) Methods and systems to optimize operating system license costs in a virtual data center
US20200065237A1 (en) Application monitoring with a decoupled monitoring tool
JP2015530647A (ja) クラウドコンピューティングシステムをチューニングするためのシステム及び方法
JP2022546994A (ja) サービス・インフラストラクチャを横断したマイクロサービスのデプロイ
CN112162927A (zh) 云计算平台的测试方法、介质、装置和计算设备
CN109933504A (zh) 一种硬盘延迟测试方法、装置、终端及存储介质
CN111600760B (zh) 一种电网运行监控系统的质量检测系统、方法及设备
CN113657069A (zh) 片上系统soc仿真验证方法、装置、验证服务器及存储介质
Bian et al. Simulating big data clusters for system planning, evaluation, and optimization
US10216599B2 (en) Comprehensive testing of computer hardware configurations
CN105389190A (zh) 一种操作系统启动的方法、装置及系统
CN116738901A (zh) 一种芯片验证方法及装置
CN110795304A (zh) 分布式存储系统性能测试的方法及装置
US11520961B2 (en) Heterogeneous-computing based emulator
US20220321488A1 (en) Managing input/output priority based on response time
CN114816672A (zh) 虚拟机的创建方法、装置、电子设备和存储介质
CN114629831A (zh) 一种网卡性能测试方法、装置、设备和存储介质
US20200341859A1 (en) Automatic objective-based compression level change for individual clusters
CN112968812A (zh) 一种网络性能测试方法、装置、设备及存储介质
US11704461B1 (en) Dynamic control of coverage by a verification testbench

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