CN113468009A - 一种压力测试方法、装置、电子设备及存储介质 - Google Patents

一种压力测试方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113468009A
CN113468009A CN202110823214.9A CN202110823214A CN113468009A CN 113468009 A CN113468009 A CN 113468009A CN 202110823214 A CN202110823214 A CN 202110823214A CN 113468009 A CN113468009 A CN 113468009A
Authority
CN
China
Prior art keywords
test
pressure
memory
item
tool
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
CN202110823214.9A
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.)
Nettrix Information Industry Beijing Co Ltd
Original Assignee
Nettrix Information Industry Beijing 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 Nettrix Information Industry Beijing Co Ltd filed Critical Nettrix Information Industry Beijing Co Ltd
Priority to CN202110823214.9A priority Critical patent/CN113468009A/zh
Publication of CN113468009A publication Critical patent/CN113468009A/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/2273Test methods
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor

Abstract

本申请涉及一种压力测试方法、装置、电子设备及存储介质,属于计算机技术领域。该压力测试方法包括:获取压力测试时的配置项,所述配置项包括压力测试项;使用所述压力测试项对应的测试工具对所述压力测试项对应的测试对象进行压力测试,得到测试结果,其中,所述测试工具为基于操作系统底层接口的测试工具。本申请实施例提供的压力测试方法,在进行压力测试时,采用基于操作系统底层接口的测试工具对测试对象进行压力测试,该测试工具是直接调用相关的内核命令,可绕过多层封装,打破不同厂商工具的限制,减小额外开销;同时可产生更大的压力,缩短测试所需的时间,提高测试效率。

Description

一种压力测试方法、装置、电子设备及存储介质
技术领域
本申请属于计算机技术领域,具体涉及一种压力测试方法、装置、电子设备及存储介质。
背景技术
服务器在网络中具有非常重要的地位,因此对服务器的整体要求也越来越高,而服务器部件压力测试对于验证机器的稳定性和可靠性起到了至关重要的作用。顾名思义部件压力测试是指对服务器的部件如内存(memory)、硬盘等进行压力测试。
现有的内存、硬盘自动化压力测试工具,大多在应用层上开发,通过封装多层的应用程序接口(Application Programming Interface,API)与内核(kernel)进行交互,从而达到测试目的。在对API接口进行多层封装时,会存在许多复杂的协议栈以及产生不必要的资源开销,从而导致产生的压力慢且小,使得测试成本高,且效率低下。
发明内容
鉴于此,本申请的目的在于提供一种压力测试方法、装置、电子设备及存储介质,以改善现有测试方法所存在的测试成本高,且效率低下的问题。
本申请的实施例是这样实现的:
第一方面,本申请实施例提供了一种压力测试方法,包括:获取压力测试时的配置项,所述配置项包括压力测试项;使用所述压力测试项对应的测试工具对所述压力测试项对应的测试对象进行压力测试,得到测试结果,其中,所述测试工具为基于操作系统底层接口的测试工具。本申请实施例中,在进行压力测试时,采用基于操作系统底层接口的测试工具对测试对象进行压力测试,该测试工具是直接调用相关的内核命令,可绕过多层封装,打破不同厂商工具的限制,减小额外开销;同时可产生更大的压力,缩短测试所需的时间,提高测试效率。
结合第一方面实施例的一种可能的实施方式,所述压力测试项对应的测试对象为整机,所述配置项还包括内存使用率;使用所述压力测试项对应的测试工具对所述压力测试项对应的测试对象进行压力测试,包括:使用内存测试工具按照所述内存使用率对应的压力对内存进行压力测试,使得测试时内存的使用率达到所述内存使用率;调用底层接口函数向硬盘发送读写命令,使用IO测试工具对所述硬盘进行读写压力测试。本申请实施例中,通过同时使用内存测试工具对内存进行压力测试,以及使用IO测试工具对硬盘进行读写压力测试,使得该方法能实现对整机的测试,覆盖多种测试模式。
结合第一方面实施例的一种可能的实施方式,所述压力测试项对应的测试对象为内存,所述配置项还包括内存使用率;使用所述压力测试项对应的测试工具对所述压力测试项对应的测试对象进行压力测试,包括:使用内存测试工具按照所述内存使用率对应的压力对所述内存进行压力测试,使得测试时内存的使用率达到所述内存使用率。本申请实施例中,在对内存进行压力测试时,还需要设置内存在压力测试过程中的内存使用率,测试时,利用使用内存测试工具按照内存使用率对应的压力对内存进行压力测试,使得测试时内存的使用率达到内存使用率,使得可以根据不同的测试需要对内存进行有针对性的测试。
结合第一方面实施例的一种可能的实施方式,所述压力测试项对应的测试对象为硬盘;使用所述压力测试项对应的测试工具对所述压力测试项对应的测试对象进行压力测试,包括:调用底层接口函数向硬盘发送读写命令,使用IO测试工具对所述硬盘进行读写压力测试。本申请实施例中,通过直接调用底层接口函数向硬盘发送读写命令,可以打破不同厂商工具的限制,减小额外开销,加快测试流程。
结合第一方面实施例的一种可能的实施方式,所述压力测试项对应的测试对象为内存或整机;所述方法还包括:使用内存监控工具监控压力测试时内存中每个内核的相关信息,所述相关信息包括:内存带宽使用情况、缓存未命中情况、最后一级缓存使用情况、每一时钟周期内所执行的指令情况中的至少一种。本申请实施例中,在测试过程中,还使用内存监控工具监控压力测试时内存中每个内核的相关信息,以便于基于该相关信息获知测试过程,分析测试效率。
结合第一方面实施例的一种可能的实施方式,使用所述压力测试项对应的测试工具对所述压力测试项对应的测试对象进行压力测试之前,所述方法还包括:自动清除当前系统日志,获取被测机器的硬件信息,并保存硬件信息日志。本申请实施例中,在压力测试之前,自动清除当前系统日志,避免新旧日志混淆,保证本次压力测试完成后,出现的Error(错误)是本次压力测试生成的;同时,通过获取被测机器的硬件信息以便于可以直观地了解被测机器的情况。
结合第一方面实施例的一种可能的实施方式,使用所述压力测试项对应的测试工具对所述压力测试项对应的测试对象进行压力测试,包括:判断所述压力测试项对应的测试对象是否为首次测试;若所述压力测试项对应的测试对象为非首次测试时,使用已安装的所述压力测试项对应的测试工具对所述压力测试项对应的测试对象进行压力测试;若所述压力测试项对应的测试对象为首次测试时,自动安装所述压力测试项对应的测试工具,并使用已安装的所述压力测试项对应的测试工具对所述压力测试项对应的测试对象进行压力测试。
第二方面,本申请实施例还提供了一种压力测试装置,包括:获取模块以及测试模块;获取模块,用于获取压力测试时的配置项,所述配置项包括压力测试项;测试模块,用于使用所述压力测试项对应的测试工具对所述压力测试项对应的测试对象进行压力测试,得到测试结果,其中,所述测试工具为基于操作系统底层接口的测试工具。
第三方面,本申请实施例还提供了一种电子设备,包括:存储器和处理器,所述处理器与所述存储器连接;所述存储器,用于存储程序;所述处理器,用于调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
第四方面,本申请实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
图1示出了本申请实施例提供的一种压力测试方法的流程示意图。
图2示出了本申请实施例提供的一种参数配置界面示意图。
图3示出了本申请实施例提供的一种监控界面的示意图。
图4示出了本申请实施例提供的又一种监控界面的示意图。
图5示出了本申请实施例提供的压力测试方法的测试功能原理框图。
图6示出了本申请实施例提供的一种压力测试装置的模块示意图。
图7示出了本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
鉴于现有压力测试方法所使用的压力测试工具,大多在应用层上开发,通过封装多层的API接口与内核进行交互,实现调用,从而导致产生的压力慢且小,使得测试成本高,且效率低下。基于此,本申请提供了一种基于底层接口与内核进行交互的测试工具,是直接调用相关的内核命令,绕过多层封装,打破不同厂商工具的限制,减小额外开销。
本申请实施例提供的基于底层接口的测试工具,包含不同模块,提供多参数执行模式,可实现内存压力测试、硬盘压力测试、内存&硬盘&CPU的整机压力测试。可根据不同测试需求,选择相应的参数,进行对应的测试项。为了便于理解,下面将结合图1,对本申请实施例提供的压力测试方法进行说明。
S1:获取压力测试时的配置项,所述配置项包括压力测试项。
测试脚本运行后,获取压力测试时用户配置的配置项,该配置项包括压力测试项。其中,压力测试项对应的测试对象可以是内存(Memory)、硬盘(Disk)或者是整机(All),测试对象默认为测试整机。其中,内存又可以分为本地内存(Local Memory)或远程内存(Remote Memory),内存压力测试默认为测试Local Memory。
可选地,若测试对象为内存或整机时,配置项还包括内存使用率(percent)。当选择Memory压力分支时,也即测试对象为内存时,内存使用率的默认值为空闲内存容量的90%,当选择All压力测试分支时,也即测试对象为整机时,内存使用率的默认值为空闲内存容量的70%。默认的内存使用率可以根据需要进行修改,可增大或减小,例如,将测试对象为整机的内存使用率的默认值(70%)修改为95%。
在开始运行测试脚本前,应按照测试脚本的帮助信息,设置压力测试时的配置项,之后执行测试脚本。配置时的参数界面如图2所示,其中的参数解释如下:
help为帮助信息;
run为选择执行的压力测试项,包含Memory压力测试分支(分为Local Memory或Remote Memory)、IO压力测试分支(即硬盘压力测试)、All压力测试分支(即整机压力测试)。默认参数是整机压力测试分支,此分支中,内存压力测试默认为测试Local Memory。
mode主要用于Memory压力测试分支,可选择使用Local Memory和/或RemoteMemory。
percent用于设置压力测试的内存使用率,可根据需要进行修改,若不修改则默认为程序定义的默认值。
通过配置压力测试时的配置项,可对不同测试对象进行压力测试,实现多种测试模式的覆盖。
S2:使用所述压力测试项对应的测试工具对所述压力测试项对应的对象进行压力测试,得到测试结果。
在获取到压力测试时的配置项中的压力测试项后,使用压力测试项对应的测试工具对压力测试项对应的对象进行压力测试,得到测试结果。其中,本申请实施例中所使用的测试工具为基于操作系统底层接口的测试工具,在测试时可直接调用相关的内核命令,绕过多层封装,打破不同厂商工具的限制,减小额外开销。
可选地,使用压力测试项对应的测试工具对压力测试项对应的测试对象进行压力测试的过程可以是:判断压力测试项对应的测试对象是否为首次测试;若压力测试项对应的测试对象为非首次测试时,使用已安装的压力测试项对应的测试工具对压力测试项对应的测试对象进行压力测试;若压力测试项对应的测试对象为首次测试时,自动安装压力测试项对应的测试工具,并使用已安装的压力测试项对应的测试工具对压力测试项对应的测试对象进行压力测试。也即,在获取到获取压力测试时的配置项后,判断压力测试项对应的测试对象是否为首次测试,若为第一次对压力测试项对应的测试对象进行测试,需要安装测试所需的工具,如压力测试项对应的测试工具,以及生成测试报告所需的pyPdf库、reportlab库等工具;若为非首次(不是第一次)对压力测试项对应的测试对象进行测试,则无需再次安装测试所需的工具,因为此测试所需的工具会在第一次测试时安装,则直接使用之前已安装的压力测试项对应的测试工具对压力测试项对应的测试对象进行压力测试。
其中,不同的测试对象,所需的测试工具不同,例如测试对象为内存,则测试工具包括内存测试工具,测试对象为硬盘,测试工具包括IO测试工具,测试对象为整机,测试工具包括内存测试工具和IO测试工具。
一种实施方式下,压力测试项对应的测试对象为内存(可分为Local Memory或者Remote Memory),配置项还包括内存使用率。使用压力测试项对应的测试工具对压力测试项对应的测试对象进行压力测试的过程可以是:使用内存测试工具按照内存使用率对应的压力对内存进行压力测试,使得测试时内存的使用率达到内存使用率。例如,配置的内存使用率为90%,则在使用内存测试工具对内存进行压力测试,需要使内存的使用率达到90%。
其中,可以使用membw工具(为内存测试工具中的一种)提供的不同指令集,对Local/Remote内存进行压力测试,测试工具开始执行后,会进行12小时压力测试。membw工具提供的不同指令集产生的压力不一样,membw工具包含的指令集有:prefetcht0、prefetcht1、prefetcht2、prefetchtnta、prefetchw、x86 loads、SSE loads、SSE NTloads、x86 load XOR write、x86 stores、AVX512 stores、x86 stores+clwb、SSE stores、x86 NT stores、AVX512 NT stores、x86 NT stores+clwb、SSE NT stores。
一种实施方式下,压力测试项对应的测试对象为硬盘;使用压力测试项对应的测试工具对压力测试项对应的测试对象进行压力测试的过程可以是:调用底层接口函数向硬盘发送读写命令,使用IO测试工具对硬盘进行读写压力测试。例如,调用底层设备驱动中的设备控制接口函数IO_Ctl,向硬盘发送SCSI(Small Computer System Interface,小型计算机系统接口)读写命令,使用sg_utils工具(为一种基于底层接口的IO测试工具)对硬盘设备进行压力测试。采用sg_utils工具中的sg_read(块大小为4k或1M)命令进行硬盘的读操作、sg_dd(块大小为4k或1M)命令进行硬盘的写操作。测试工具开始执行后,会进行12小时压力测试。
一种实施方式下,压力测试项对应的测试对象为整机,配置项还包括内存使用率;使用压力测试项对应的测试工具对压力测试项对应的测试对象进行压力测试的过程是:使用内存测试工具按照内存使用率对应的压力对内存进行压力测试,使得测试时内存的使用率达到内存使用率,调用底层接口函数向硬盘发送读写命令,使用IO测试工具对硬盘进行读写压力测试。例如,配置的内存使用率为95%,则在使用内存测试工具对内存进行压力测试,需要使内存的使用率达到95%。可以使用membw工具(为内存测试工具中的一种)提供的不同指令集,对Local /Remote内存进行压力测试。在进行硬盘测试时,可以调用底层设备驱动中的设备控制接口函数IO_Ctl,向硬盘发送SCSI读写命令,使用sg_utils工具对硬盘设备进行压力测试。
其中,整机压力测试,同时执行Memory压力测试和IO压力测试,该种情况下,CPU的每个核心的压力都可以达到100%、内存的使用率可达到95%、硬盘的读写压力可达到最大,从而实现了整机压力测试的目的。测试工具开始执行后,可以进行12小时压力测试。由于本申请实施例中所使用的测试工具是基于操作系统底层接口的测试工具,可直接调用相关的内核命令进行压力测试,这样可以减少额外的资源开销,且在测试时,能产生更大的压力,相比于现有采用调用多层封装的API接口的测试工具所需的时间(通常为48小时)可以大幅度缩短,使得测试的时间可以大幅缩短到12小时。
其中,压力测试是一种破坏性的测试,即测试系统在非正常的、超负荷的条件下的运行情况。用来评估在超越最大负载情况下系统将如何运行,是系统在正常的情况下对某种负载强度的承受能力的考验。
一种可选实施方式下,当压力测试项对应的测试对象为内存或整机时,该压力测试方法还包括:使用内存监控工具监控压力测试时内存中每个内核(CORE)的相关信息。所述相关信息包括:内存带宽使用情况(MBR(Memory Bandwidth Remote)或MBL(MemoryBandwidth Local))、缓存未命中情况(MISSES)、最后一级缓存(Last level Cache,LLC)使用情况、每一时钟周期内所执行的指令(Instruction Per Clock,IPC)情况中的至少一种。其中,最后一级缓存也称为第三级缓存,简称L3。
例如,可以使用pqos工具(为一种内存监控工具)监控压力测试时内存中每个内核的相关信息,其监控界面示意图,如图3所示。同时,实时统计内存缓存未命中情况(各个内核的缓存未命中情况之和),统计内存使用L3缓存的使用情况(为各个内核的LLC使用情况之和),其监控界面如4所示。其中,图3中的CORE为内存的内核,MISSES为缓存未命中情况,LLC为最后一级缓存或者第三级缓存使用情况,MBL为本地内存的带宽使用情况(MemoryBandwidth Local),MBR为远程内存带宽使用情况(Memory Bandwidth Remote)。图4中的MISSES为统计的内存缓存未命中情况,Usage为内存使用L3缓存的使用情况(为各个内核的LLC使用情况之和)。
可选地,在使用压力测试项对应的测试工具对压力测试项对应的测试对象进行压力测试之前,该压力测试方法还包括:自动清除当前系统日志,获取被测机器的硬件信息,并保存硬件信息日志。在开始测试压力测试之前,会自动化清除旧的系统日志,避免新旧日志混淆,保证本次压力测试完成后,出现的Error(错误)是本次压力测试生成的。同时,还会自动检测服务器(被测机器)在位的内存数量及容量、在位的硬盘数量及容量以及其余重要的硬件信息,并保存硬件信息日志,以便在12小时压力测试结束后,将被测机器的硬件信息、压力测试结果以及最新生成的系统日志进行汇总,生成最终的测试报告,如PDF报告。
一种可选实施方式下,使用本申请的压力测试方法的测试流程可以是:
(1)、准备测试环境,将测试脚本安装在被测机器上,按照测试脚本的帮助信息,配置压力测试时的配置项,并执行脚本。
(2)、脚本运行后,会自动获取压力测试时的配置项。
(3)、判断压力测试项对应的测试对应是否为首次测试,若为首次测试,自动安装测试过程中需要用到的安装包。
(4)、会自动化清除旧的系统日志,避免新旧日志混淆,保证本次压力测试完成后,出现的Error是本次压力测试生成的。
(5)、自动执行Machine Information检查,主要目的是检查服务器在位的内存数量及容量、在位的硬盘数量及容量,以及其余重要的硬件信息。并保存硬件信息日志。
(6)、使用压力测试项对应的测试工具对压力测试项对应的对象进行时长为12小时的压力测试,得到测试结果。
(7)、12小时压力测试结束后,自动关闭压力进程,然后汇总机器硬件信息、压力测试结果以及系统日志,生成最终的测试报告。
本申请实施例提供的压力测试方法的测试功能原理框图如图5所示。根据示意图中的机器压力(Machine Stress)的流向可知,该压力测试方法可实现内存压力测试(Memory)、硬盘压力测试(Disk)、内存&硬盘&CPU的整机压力测试(All)。Memory又可分为Local Memory或Remote Memory。内存压力测试时,可以使用membw工具进行内存压力测试,可以使用pqos工具进行实时监控,包含对内存使用L3缓存的使用情况进行监控。硬盘压力测试时,调用底层设备驱动中的设备控制接口函数IO_Ctl,向硬盘发送读写命令,使用sg_utils工具对硬盘设备进行压力测试。整机测试时,默认内存压力测试和硬盘压力测试同时进行。其中内存压力测试和整机压力测试,都需要内存的使用率达到配置的内存使用率。
基于同样的发明构思,本申请实施例还提供了一种压力测试装置100,如图6所示。该压力测试装置100包括:获取模块110、测试模块120。
获取模块110,用于获取压力测试时的配置项,所述配置项包括压力测试项。
测试模块120,用于使用所述压力测试项对应的测试工具对所述压力测试项对应的测试对象进行压力测试,得到测试结果,其中,所述测试工具为基于操作系统底层接口的测试工具。
可选地,所述压力测试项对应的测试对象为整机,所述配置项还包括内存使用率,测试模块120,具体用于使用内存测试工具按照所述内存使用率对应的压力对内存进行压力测试,使得测试时内存的使用率达到所述内存使用率;调用底层接口函数向硬盘发送读写命令,使用IO测试工具对所述硬盘进行读写压力测试。
可选地,所述压力测试项对应的测试对象为内存,所述配置项还包括内存使用率,测试模块120,具体用于使用内存测试工具按照所述内存使用率对应的压力对所述内存进行压力测试,使得测试时内存的使用率达到所述内存使用率。
可选地,所述压力测试项对应的测试对象为硬盘;测试模块120,具体用于调用底层接口函数向硬盘发送读写命令,使用IO测试工具对所述硬盘进行读写压力测试。
可选地,所述压力测试项对应的测试对象为内存或整机;测试模块120,还用于使用内存监控工具监控压力测试时内存中每个内核的相关信息,所述相关信息包括:内存带宽使用情况、缓存未命中情况、最后一级缓存使用情况、每一时钟周期内所执行的指令情况中的至少一种。
可选地,测试模块120,还用于在使用所述压力测试项对应的测试工具对所述压力测试项对应的测试对象进行压力测试之前,自动清除当前系统日志,获取被测机器的硬件信息,并保存硬件信息日志。
可选地,测试模块120,具体用于判断所述压力测试项对应的测试对象是否为首次测试;若所述压力测试项对应的测试对象为非首次测试时,使用已安装的所述压力测试项对应的测试工具对所述压力测试项对应的测试对象进行压力测试;若所述压力测试项对应的测试对象为首次测试时,自动安装所述压力测试项对应的测试工具,并使用已安装的所述压力测试项对应的测试工具对所述压力测试项对应的测试对象进行压力测试。
本申请实施例所提供的压力测试装置100,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
如图7所示,图7示出了本申请实施例提供的一种电子设备200的结构框图。所述电子设备200包括:收发器210、存储器220、通讯总线230以及处理器240。
所述收发器210、所述存储器220、处理器240各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线230或信号线实现电性连接。其中,收发器210用于收发数据。存储器220用于存储计算机程序,如存储有图6中所示的软件功能模块,即压力测试装置100。其中,压力测试装置100包括至少一个可以软件或固件(firmware)的形式存储于所述存储器220中或固化在所述电子设备200的操作系统(operating system,OS)中的软件功能模块。所述处理器240,用于执行存储器220中存储的可执行模块,例如压力测试装置100包括的软件功能模块或计算机程序。例如,处理器240,用于获取压力测试时的配置项,所述配置项包括压力测试项;使用所述压力测试项对应的测试工具对所述压力测试项对应的测试对象进行压力测试,得到测试结果,其中,所述测试工具为基于操作系统底层接口的测试工具。
其中,存储器220可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器240可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器240也可以是任何常规的处理器等。
其中,上述的电子设备200,包括但不限于计算机,计算机可以是服务器等。
本申请实施例还提供了一种非易失性计算机可读取存储介质(以下简称存储介质),该存储介质上存储有计算机程序,该计算机程序被计算机如上述的电子设备200运行时,执行上述所示的压力测试方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者电子设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种压力测试方法,其特征在于,包括:
获取压力测试时的配置项,所述配置项包括压力测试项;
使用所述压力测试项对应的测试工具对所述压力测试项对应的测试对象进行压力测试,得到测试结果,其中,所述测试工具为基于操作系统底层接口的测试工具。
2.根据权利要求1所述的方法,其特征在于,所述压力测试项对应的测试对象为整机,所述配置项还包括内存使用率;使用所述压力测试项对应的测试工具对所述压力测试项对应的测试对象进行压力测试,包括:
使用内存测试工具按照所述内存使用率对应的压力对内存进行压力测试,使得测试时内存的使用率达到所述内存使用率;
调用底层接口函数向硬盘发送读写命令,使用IO测试工具对所述硬盘进行读写压力测试。
3.根据权利要求1所述的方法,其特征在于,所述压力测试项对应的测试对象为内存,所述配置项还包括内存使用率;使用所述压力测试项对应的测试工具对所述压力测试项对应的测试对象进行压力测试,包括:
使用内存测试工具按照所述内存使用率对应的压力对所述内存进行压力测试,使得测试时内存的使用率达到所述内存使用率。
4.根据权利要求1所述的方法,其特征在于,所述压力测试项对应的测试对象为硬盘;使用所述压力测试项对应的测试工具对所述压力测试项对应的测试对象进行压力测试,包括:
调用底层接口函数向硬盘发送读写命令,使用IO测试工具对所述硬盘进行读写压力测试。
5.根据权利要求1所述的方法,其特征在于,所述压力测试项对应的测试对象为内存或整机;所述方法还包括:
使用内存监控工具监控压力测试时内存中每个内核的相关信息,所述相关信息包括:内存带宽使用情况、缓存未命中情况、最后一级缓存使用情况、每一时钟周期内所执行的指令情况中的至少一种。
6.根据权利要求1所述的方法,其特征在于,使用所述压力测试项对应的测试工具对所述压力测试项对应的测试对象进行压力测试之前,所述方法还包括:
自动清除当前系统日志,获取被测机器的硬件信息,并保存硬件信息日志。
7.根据权利要求1所述的方法,其特征在于,使用所述压力测试项对应的测试工具对所述压力测试项对应的测试对象进行压力测试,包括:
判断所述压力测试项对应的测试对象是否为首次测试;
若所述压力测试项对应的测试对象为非首次测试时,使用已安装的所述压力测试项对应的测试工具对所述压力测试项对应的测试对象进行压力测试;
若所述压力测试项对应的测试对象为首次测试时,自动安装所述压力测试项对应的测试工具,并使用已安装的所述压力测试项对应的测试工具对所述压力测试项对应的测试对象进行压力测试。
8.一种压力测试装置,其特征在于,包括:
获取模块,用于获取压力测试时的配置项,所述配置项包括压力测试项;
测试模块,用于使用所述压力测试项对应的测试工具对所述压力测试项对应的测试对象进行压力测试,得到测试结果,其中,所述测试工具为基于操作系统底层接口的测试工具。
9.一种电子设备,其特征在于,包括:
存储器和处理器,所述处理器与所述存储器连接;
所述存储器,用于存储程序;
所述处理器,用于调用存储于所述存储器中的程序,以执行如权利要求1-7中任一项所述的方法。
10.一种存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器运行时,执行如权利要求1-7中任一项所述的方法。
CN202110823214.9A 2021-07-21 2021-07-21 一种压力测试方法、装置、电子设备及存储介质 Pending CN113468009A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110823214.9A CN113468009A (zh) 2021-07-21 2021-07-21 一种压力测试方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110823214.9A CN113468009A (zh) 2021-07-21 2021-07-21 一种压力测试方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN113468009A true CN113468009A (zh) 2021-10-01

Family

ID=77881533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110823214.9A Pending CN113468009A (zh) 2021-07-21 2021-07-21 一种压力测试方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113468009A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114265729A (zh) * 2021-11-09 2022-04-01 北京云宽志业网络技术有限公司 压力测试方法、装置、存储介质及电子设备
CN116913361A (zh) * 2023-06-08 2023-10-20 深圳市晶存科技有限公司 硬盘自动测试方法、系统及介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO20004194D0 (no) * 1999-08-25 2000-08-22 Schlumberger Holdings Reservoarforvaltningssystem, samt fremgangsmÕte
CN102789565A (zh) * 2011-05-19 2012-11-21 鸿富锦精密工业(深圳)有限公司 访问驱动程序权限控制系统及方法
US20160179557A1 (en) * 2014-12-22 2016-06-23 International Business Machines Corporation Emulated device firmware testable by native operating system tools
CN107302473A (zh) * 2017-06-20 2017-10-27 郑州云海信息技术有限公司 一种高频数据传输压力测试方法及系统
CN107577545A (zh) * 2016-07-05 2018-01-12 北京金山云网络技术有限公司 一种故障磁盘检测与修复方法和装置
CN109032894A (zh) * 2018-07-26 2018-12-18 郑州云海信息技术有限公司 一种sg3_utils工具直连硬盘方法、装置、设备及存储介质
CN109032874A (zh) * 2018-08-15 2018-12-18 郑州云海信息技术有限公司 一种内存压力测试方法、装置、终端及存储介质
CN111367745A (zh) * 2020-03-13 2020-07-03 苏州浪潮智能科技有限公司 无操作系统支持的内存压力测试方法、系统及相关组件
CN111966549A (zh) * 2020-08-19 2020-11-20 苏州浪潮智能科技有限公司 服务器的cpu压力测试方法、装置及计算机可读存储介质
CN112214384A (zh) * 2020-09-18 2021-01-12 苏州浪潮智能科技有限公司 一种硬盘序列号管理方法、系统、终端及存储介质
CN112597051A (zh) * 2020-12-30 2021-04-02 北京华胜天成科技股份有限公司 获取测试结果的方法及装置、电子设备和存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO20004194D0 (no) * 1999-08-25 2000-08-22 Schlumberger Holdings Reservoarforvaltningssystem, samt fremgangsmÕte
CN102789565A (zh) * 2011-05-19 2012-11-21 鸿富锦精密工业(深圳)有限公司 访问驱动程序权限控制系统及方法
US20160179557A1 (en) * 2014-12-22 2016-06-23 International Business Machines Corporation Emulated device firmware testable by native operating system tools
CN107577545A (zh) * 2016-07-05 2018-01-12 北京金山云网络技术有限公司 一种故障磁盘检测与修复方法和装置
CN107302473A (zh) * 2017-06-20 2017-10-27 郑州云海信息技术有限公司 一种高频数据传输压力测试方法及系统
CN109032894A (zh) * 2018-07-26 2018-12-18 郑州云海信息技术有限公司 一种sg3_utils工具直连硬盘方法、装置、设备及存储介质
CN109032874A (zh) * 2018-08-15 2018-12-18 郑州云海信息技术有限公司 一种内存压力测试方法、装置、终端及存储介质
CN111367745A (zh) * 2020-03-13 2020-07-03 苏州浪潮智能科技有限公司 无操作系统支持的内存压力测试方法、系统及相关组件
CN111966549A (zh) * 2020-08-19 2020-11-20 苏州浪潮智能科技有限公司 服务器的cpu压力测试方法、装置及计算机可读存储介质
CN112214384A (zh) * 2020-09-18 2021-01-12 苏州浪潮智能科技有限公司 一种硬盘序列号管理方法、系统、终端及存储介质
CN112597051A (zh) * 2020-12-30 2021-04-02 北京华胜天成科技股份有限公司 获取测试结果的方法及装置、电子设备和存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SEVEN_ENGINE: "性能测试使用手册", pages 1 - 15, Retrieved from the Internet <URL:https://blog.51cto.com/engine/1610864> *
安仲奇;杜昊;李强;霍志刚;马捷;: "基于高性能I/O技术的Memcached优化研究", 计算机研究与发展, vol. 55, no. 04, 15 April 2018 (2018-04-15), pages 864 - 874 *
无: "更深存储器应用如何实现?IDT技术白皮书为你解惑", pages 4, Retrieved from the Internet <URL:https://news.eda365.com/tech/ccjishu/12007884681463.html> *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114265729A (zh) * 2021-11-09 2022-04-01 北京云宽志业网络技术有限公司 压力测试方法、装置、存储介质及电子设备
CN116913361A (zh) * 2023-06-08 2023-10-20 深圳市晶存科技有限公司 硬盘自动测试方法、系统及介质
CN116913361B (zh) * 2023-06-08 2024-05-07 深圳市晶存科技有限公司 硬盘自动测试方法、系统及介质

Similar Documents

Publication Publication Date Title
US8386851B2 (en) Functional coverage using combinatorial test design
US8661291B2 (en) Diagnosing a fault incident in a data center
US9262283B2 (en) Method for reading kernel log upon kernel panic in operating system
US10733077B2 (en) Techniques for monitoring errors and system performance using debug trace information
US20110276829A1 (en) Client server and method for monitoring function tests thereof
CN101515316A (zh) 一种可信计算终端及可信计算方法
US8752027B2 (en) Injecting faults into program for testing software
CN113468009A (zh) 一种压力测试方法、装置、电子设备及存储介质
US8930761B2 (en) Test case result processing
US10606677B2 (en) Method of retrieving debugging data in UEFI and computer system thereof
CN110413432B (zh) 一种信息处理方法、电子设备及存储介质
US9542304B1 (en) Automated operating system installation
US8904359B2 (en) On-demand monitoring of memory usage
JP2015529927A (ja) 訂正不能エラーを含むアドレス範囲の通知
US7430683B2 (en) Method and apparatus for enabling run-time recovery of a failed platform
CN111984452A (zh) 程序故障检测方法、装置、电子设备以及存储介质
US20180144134A1 (en) Detection system and detection method
CN111338864B (zh) 内存问题检测方法、装置、计算机设备及存储介质
CN109086162B (zh) 一种内存诊断方法和装置
US20120239971A1 (en) Mitigating known software defects
US20210311833A1 (en) Targeted repair of hardware components in a computing device
CN100369009C (zh) 使用系统管理中断信号的监控系统及方法
US20060230196A1 (en) Monitoring system and method using system management interrupt
CN114116291B (zh) 日志检测方法、日志检测装置、计算机设备及存储介质
US9710319B2 (en) Information processing apparatus and information collection method

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