CN112527642A - 性能测试指标数据的显示方法、装置、设备及存储介质 - Google Patents

性能测试指标数据的显示方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112527642A
CN112527642A CN202011417689.XA CN202011417689A CN112527642A CN 112527642 A CN112527642 A CN 112527642A CN 202011417689 A CN202011417689 A CN 202011417689A CN 112527642 A CN112527642 A CN 112527642A
Authority
CN
China
Prior art keywords
test
performance
jmeter
task instruction
performance test
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
CN202011417689.XA
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.)
Ping An Life Insurance Company of China Ltd
Original Assignee
Ping An Life Insurance Company of China 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 Ping An Life Insurance Company of China Ltd filed Critical Ping An Life Insurance Company of China Ltd
Priority to CN202011417689.XA priority Critical patent/CN112527642A/zh
Publication of CN112527642A publication Critical patent/CN112527642A/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/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及性能测试领域,公开了一种性能测试指标数据的显示方法、装置、设备及存储介质,用于提高查看JMeter测试脚本性能测试的性能分析数据的查看效率。性能测试指标数据的显示方法包括:获取性能测试任务指令,通过预置JMeter测试平台为性能测试任务指令分配JMeter测试脚本;基于JMeter测试脚本对性能测试任务指令进行解析,得到测试性能指标;调用JMeter测试脚本中的压力测试脚本对测试性能指标进行测试,生成目标性能指标数据,并将目标性能指标数据存储至数据库中;利用性能测试结果调用请求在数据库中调用对应的目标性能指标数据,并在全球广域网Web服务器上显示目标性能指标数据。本发明还涉及区块链技术,所述目标性能指标数据存储于区块链中。

Description

性能测试指标数据的显示方法、装置、设备及存储介质
技术领域
本发明涉及性能测试领域,尤其涉及一种性能测试指标数据的显示方法、装置、设备及存储介质。
背景技术
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。其中,性能测试包括负载测试、压力测试及其两者的结合,负载测试指的是通过逐渐增加系统中的负载,记录各项性能指标的变化,从而确定不同工作负载下系统的性能状况;压力测试指的是通过确定系统的瓶颈或不能承受的最大性能值,明确系统的最大服务级别。
目前性能测试的基本方案是在Jmeter客户端上编写JMeter测试脚本,将JMeter测试脚本上传至堡垒机上,在堡垒机中利用命令执行JMeter测试脚本,然后将通过执行指令生成的性能结果文件下载至本地,得到性能分析数据。但在查看性能分析数据时,需要将下载性能结果文件下载至本地,再通过浏览器或JMeter客户端打开进行查看,导致查看JMeter测试脚本性能测试的性能分析数据的查看效率低下。
发明内容
本发明提供了一种性能测试指标数据的显示方法、装置、设备及存储介质,用于提高查看JMeter测试脚本性能测试的性能分析数据的查看效率。
本发明第一方面提供了一种性能测试指标数据的显示方法,包括:获取性能测试任务指令,将所述性能测试任务指令输入至预置JMeter测试平台中,通过所述预置JMeter测试平台为所述性能测试任务指令分配JMeter测试脚本,所述性能测试任务指令中包括对应JMeter测试脚本的名称;基于所述JMeter测试脚本对所述性能测试任务指令进行解析,得到测试性能指标;调用所述JMeter测试脚本中的压力测试脚本,利用所述压力测试脚本对所述测试性能指标进行测试,生成目标性能指标数据,并将所述目标性能指标数据存储至数据库中;获取性能测试结果调用请求,利用所述性能测试结果调用请求在所述数据库中调用对应的目标性能指标数据,并在全球广域网Web服务器上显示所述目标性能指标数据。
可选的,在本发明第一方面的第一种实现方式中,所述调用所述JMeter测试脚本中的压力测试脚本,利用所述压力测试脚本对所述测试性能指标进行测试,生成目标性能指标数据,并将所述目标性能指标数据存储至数据库中包括:通过集成在Web服务器上的JMeter应用程序接口API获取测试性能指标;调用所述JMeter测试脚本中的压力测试脚本,在所述压力测试脚本中创建线程组,并创建所述线程组的压力测试请求;将所述测试性能指标填写入所述压力测试请求中,得到目标压力测试参数;添加结果树查看所述目标压力测试参数,并添加响应断言与聚合报告生成所述目标压力测试参数的目标性能指标数据,将所述目标性能指标数据存储至数据库中。
可选的,在本发明第一方面的第二种实现方式中,在所述获取性能测试任务指令,将所述性能测试任务指令输入至预置JMeter测试平台中,通过所述预置JMeter测试平台为所述性能测试任务指令分配JMeter测试脚本,所述性能测试任务指令中包括对应JMeter测试脚本的名称之前,所述性能测试指标数据的显示方法还包括:根据堡垒机的运行状态选择执行性能测试任务指令的堡垒机,Web服务器部署在所述堡垒机上,JMeter API集成在所述Web服务器中。
可选的,在本发明第一方面的第三种实现方式中,所述根据堡垒机的运行状态选择执行性能测试任务指令的堡垒机,Web服务器部署在所述堡垒机上,JMeter API集成在所述Web服务器中包括:调用预置检测指令判断堡垒机对应的JMeter测试脚本中是否存在性能测试任务指令的进程,Web服务器部署在所述堡垒机上,JMeter API集成在所述Web服务器中;若所述堡垒机对应的JMeter测试脚本中存在性能测试任务指令的进程,则确定所述堡垒机的运行状态为繁忙状态,当所述堡垒机为繁忙状态时,搜索运行状态为空闲状态的堡垒机,并占用所述空闲状态的堡垒机执行所述性能测试任务指令;若所述堡垒机对应的JMeter测试脚本中不存在性能测试任务指令的进程,则确定所述堡垒机的运行状态为空闲状态,当所述堡垒机为空闲状态时,占用所述空闲状态的堡垒机执行所述性能测试任务指令。
可选的,在本发明第一方面的第四种实现方式中,在所述获取性能测试任务指令,将所述性能测试任务指令输入至预置JMeter测试平台中,通过所述预置JMeter测试平台为所述性能测试任务指令分配JMeter测试脚本,所述性能测试任务指令中包括对应JMeter测试脚本的名称之后,在所述基于所述JMeter测试脚本对所述性能测试任务指令进行解析,得到测试性能指标之前,所述性能测试指标数据的显示方法还包括:为性能测试任务指令分配记录地址,并将所述记录地址存储至预置JMeter测试平台的数据库。
可选的,在本发明第一方面的第五种实现方式中,提取性能测试任务指令,将所述性能测试任务指令输入至预置JMeter测试平台的数据库中;将所述性能测试任务指令记录在所述数据库中的任务表中,利用预置地址递增生成规则创建所述性能测试任务指令的记录地址,并将所述记录地址存储在所述任务表中。
本发明第二方面提供了一种性能测试指标数据的显示装置,包括:分配模块,用于获取性能测试任务指令,将所述性能测试任务指令输入至预置JMeter测试平台中,通过所述预置JMeter测试平台为所述性能测试任务指令分配JMeter测试脚本,所述性能测试任务指令中包括对应JMeter测试脚本的名称;解析模块,用于基于所述JMeter测试脚本对所述性能测试任务指令进行解析,得到测试性能指标;测试模块,用于调用所述JMeter测试脚本中的压力测试脚本,利用所述压力测试脚本对所述测试性能指标进行测试,生成目标性能指标数据,并将所述目标性能指标数据存储至数据库中;调用模块,用于获取性能测试结果调用请求,利用所述性能测试结果调用请求在所述数据库中调用对应的目标性能指标数据,并在全球广域网Web服务器上显示所述目标性能指标数据。
可选的,在本发明第二方面的第一种实现方式中,所述测试模块具体用于:通过集成在Web服务器上的JMeter应用程序接口API获取测试性能指标;调用所述JMeter测试脚本中的压力测试脚本,在所述压力测试脚本中创建线程组,并创建所述线程组的压力测试请求;将所述测试性能指标填写入所述压力测试请求中,得到目标压力测试参数;添加结果树查看所述目标压力测试参数,并添加响应断言与聚合报告生成所述目标压力测试参数的目标性能指标数据,将所述目标性能指标数据存储至数据库中。
可选的,在本发明第二方面的第二种实现方式中,所述性能测试指标数据的显示装置还包括:选择模块,用于根据堡垒机的运行状态选择执行性能测试任务指令的堡垒机,Web服务器部署在所述堡垒机上,JMeter API集成在所述Web服务器中。
可选的,在本发明第二方面的第三种实现方式中,所述选择模块具体用于:调用预置检测指令判断堡垒机对应的JMeter测试脚本中是否存在性能测试任务指令的进程,Web服务器部署在所述堡垒机上,JMeter API集成在所述Web服务器中;若所述堡垒机对应的JMeter测试脚本中存在性能测试任务指令的进程,则确定所述堡垒机的运行状态为繁忙状态,当所述堡垒机为繁忙状态时,搜索运行状态为空闲状态的堡垒机,并占用所述空闲状态的堡垒机执行所述性能测试任务指令;若所述堡垒机对应的JMeter测试脚本中不存在性能测试任务指令的进程,则确定所述堡垒机的运行状态为空闲状态,当所述堡垒机为空闲状态时,占用所述空闲状态的堡垒机执行所述性能测试任务指令。
可选的,在本发明第二方面的第四种实现方式中,所述性能测试指标数据的显示装置还包括:记录模块,用于为性能测试任务指令分配记录地址,并将所述记录地址存储至预置JMeter测试平台的数据库。
可选的,在本发明第二方面的第五种实现方式中,所述记录模块具体用于:提取性能测试任务指令,将所述性能测试任务指令输入至预置JMeter测试平台的数据库中;将所述性能测试任务指令记录在所述数据库中的任务表中,利用预置地址递增生成规则创建所述性能测试任务指令的记录地址,并将所述记录地址存储在所述任务表中。
本发明第三方面提供了一种性能测试指标数据的显示设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述性能测试指标数据的显示设备执行上述的性能测试指标数据的显示方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的性能测试指标数据的显示方法。
本发明提供的技术方案中,获取性能测试任务指令,将所述性能测试任务指令输入至预置JMeter测试平台中,通过所述预置JMeter测试平台为所述性能测试任务指令分配JMeter测试脚本,所述性能测试任务指令中包括对应JMeter测试脚本的名称;基于所述JMeter测试脚本对所述性能测试任务指令进行解析,得到测试性能指标;调用所述JMeter测试脚本中的压力测试脚本,利用所述压力测试脚本对所述测试性能指标进行测试,生成目标性能指标数据,并将所述目标性能指标数据存储至数据库中;获取性能测试结果调用请求,利用所述性能测试结果调用请求在所述数据库中调用对应的目标性能指标数据,并在全球广域网Web服务器上显示所述目标性能指标数据。本发明实施例中,通过JMeter测试脚本中的压力测试脚本对测试性能指标进行测试,生成目标性能指标数据,并将目标性能指标数据存储至数据库中,再通过性能测试结果调用请求调取目标性能指标数据,直接在Web服务器上显示目标性能指标数据,提高了查看JMeter测试脚本性能测试的性能分析数据的查看效率。
附图说明
图1为本发明实施例中性能测试指标数据的显示方法的一个实施例示意图;
图2为本发明实施例中性能测试指标数据的显示方法的另一个实施例示意图;
图3为本发明实施例中性能测试指标数据的显示装置的一个实施例示意图;
图4为本发明实施例中性能测试指标数据的显示装置的另一个实施例示意图;
图5为本发明实施例中性能测试指标数据的显示设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种性能测试指标数据的显示方法、装置、设备及存储介质,用于提高查看JMeter测试脚本性能测试的性能分析数据的查看效率。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中性能测试指标数据的显示方法的一个实施例包括:
101、获取性能测试任务指令,将性能测试任务指令输入至预置JMeter测试平台中,通过预置JMeter测试平台为性能测试任务指令分配JMeter测试脚本,性能测试任务指令中包括对应JMeter测试脚本的名称;
可以理解的是,本发明的执行主体可以为性能测试指标数据的显示装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
服务器获取性能测试任务指令,该性能测试任务指令中包括需要与性能测试指令任务进行绑定的JMeter测试脚本的名称,服务器将性能测试任务指令输入至预置JMeter测试平台中,在JMeter测试平台中查找与性能测试任务指令中JMeter测试脚本的名称相同的JMeter测试脚本,并将性能测试任务指令与对应的JMeter测试脚本进行绑定,即可在JMeter测试脚本中执行性能测试任务指令。
预置JMeter测试平台是Apache组织开发的基于Java的压力测试工具,其用于对软件进行压力测试。预置JMeter测试平台可以广泛用于全球广域网(world wide web,Web)应用测试,测试静态和动态资源,例如:静态文件、Java服务小程序、CGI脚本、数据库等,还可以应用于对服务器、网络或对象模拟巨大的负载,测试服务器、网络或对象的强度和分析整体性能。
预置JMeter测试平台应用于不同的领域中,对应的性能测试任务指令的内容均不同,需要说明的是,性能测试任务指令中一定包括需要与性能测试指令任务进行绑定的JMeter测试脚本的名称,服务器通过JMeter测试脚本的名称为性能测试任务指令分配预置JMeter测试平台中的JMeter测试脚本,这样才能进一步进行性能测试。
102、基于JMeter测试脚本对性能测试任务指令进行解析,得到测试性能指标;
JMeter测试脚本对性能测试任务指令进行解析可以得到TPS、每秒查询率(queries-per-second,QPS)、延时、被测系统的中央处理器(central processing unit,CPU)和内存等性能指标,这里通过JMeter测试脚本对性能测试任务指令进行解析是本领域中的惯用技术手段,故在此不赘述JMeter测试脚本对性能测试任务指令解析的步骤。
103、调用JMeter测试脚本中的压力测试脚本,利用压力测试脚本对测试性能指标进行测试,生成目标性能指标数据,并将目标性能指标数据存储至数据库中;
为便于测试性能指标的分析与现实,JMeter测试脚本对性能测试任务指令进行解析后,还需要利用压力测试脚本对测试性能指标进行测试,通过压力测试脚本对测试性能指标进行测试分析可以生成对应的目标性能指标数据,并将对应的目标性能指标数据存储在数据库中,这里的数据库为mysql数据库,还可以为orical、SQLServer、DB2等关系型数据库。
需要强调的是,为进一步保证上述目标性能指标数据的私密和安全性,上述目标性能指标数据还可以存储于一区块链的节点中。
104、获取性能测试结果调用请求,利用性能测试结果调用请求在数据库中调用对应的目标性能指标数据,并在全球广域网Web服务器上显示目标性能指标数据。
服务器通过JMeter测试脚本中的压力测试脚本生成目标性能指标数据后,便可以将目标性能指标数据进行显示,在进行显示之前,服务器需要获取显示目标性能指标数据的调用请求,只有获取到性能测试结果调用请求,才能调用对应的目标性能指标数据进行显示,这里的性能测试结果调用请求用于指示需要显示哪些性能指标。
进一步说明的是,目标性能指标数据是在Web服务器中显示的,Web服务器是名为龙卷风(Tornado)的一种Web服务器软件的开源版本,其为非阻塞式服务器,在进行处理数据时每秒可以处理数以千计的连接,此外利用该服务器框架可以进行以下操作:
1、处理超文本传输协议http请求;
2、调用Tornado中的应用程序接口(application programming interface,API)处理套接字socket的异步读写;
3、使用Tornado中的IOLoop进行事件循环,响应性能测试结果调用请求。
本发明实施例中,通过JMeter测试脚本中的压力测试脚本对测试性能指标进行测试,生成目标性能指标数据,并将目标性能指标数据存储至数据库中,再通过性能测试结果调用请求调取目标性能指标数据,直接在Web服务器上显示目标性能指标数据,提高了查看JMeter测试脚本性能测试的性能分析数据的查看效率。
请参阅图2,本发明实施例中性能测试指标数据的显示方法的另一个实施例包括:
201、根据堡垒机的运行状态选择执行性能测试任务指令的堡垒机,Web服务器部署在堡垒机上,JMeter API集成在Web服务器中;
具体的,服务器调用预置检测指令判断堡垒机对应的JMeter测试脚本中是否存在性能测试任务指令的进程,Web服务器部署在堡垒机上,JMeter API集成在Web服务器中;若堡垒机对应的JMeter测试脚本中存在性能测试任务指令的进程,则服务器确定堡垒机的运行状态为繁忙状态,当堡垒机为繁忙状态时,搜索运行状态为空闲状态的堡垒机,并占用空闲状态的堡垒机执行性能测试任务指令;若服务器堡垒机对应的JMeter测试脚本中不存在性能测试任务指令的进程,则确定堡垒机的运行状态为空闲状态,当堡垒机为空闲状态时,占用空闲状态的堡垒机执行性能测试任务指令。
需要说明的是,这里的堡垒机用于指示在特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段监控和记录运维人员对网络内的服务器、网络设备、安全设备、数据库等设备的操作行为,便于集中报警、及时处理及审计定责。堡垒机上部署有Web服务器,而在Web服务器上集成有JMeter API,通过JMeterAPI可以对性能测试任务指令的解析结果进行获取,但由于一个堡垒机一次只能执行一个项目,当一个项目执行完毕后忘记释放堡垒机,鉴于堡垒机的数量有限,则会导致其他项目无法执行,因此通过预置检测指令对堡垒机的可用性进行检测可解决此问题。当性能测试任务指令开始运行时,会自动搜索空闲堡垒机并占用该堡垒机,性能测试任务指令运行结束后自动释放,无需人为干预,便捷且高效的利用堡垒机。
进一步说明的是,这里的预置检测指令为jms命令,该jms命令可以查看堡垒机上是否有运行jmeter的进程。如果有,则视为堡垒机处于繁忙状态;否则,视为堡垒机处于空闲状态,便于堡垒机的合理高效使用。
202、获取性能测试任务指令,将性能测试任务指令输入至预置JMeter测试平台中,通过预置JMeter测试平台为性能测试任务指令分配JMeter测试脚本,性能测试任务指令中包括对应JMeter测试脚本的名称;
服务器获取性能测试任务指令,该性能测试任务指令中包括需要与性能测试指令任务进行绑定的JMeter测试脚本的名称,服务器将性能测试任务指令输入至预置JMeter测试平台中,在JMeter测试平台中查找与性能测试任务指令中JMeter测试脚本的名称相同的JMeter测试脚本,并将性能测试任务指令与对应的JMeter测试脚本进行绑定,即可在JMeter测试脚本中执行性能测试任务指令。
预置JMeter测试平台是Apache组织开发的基于Java的压力测试工具,其用于对软件进行压力测试。预置JMeter测试平台可以广泛用于全球广域网(world wide web,Web)应用测试,测试静态和动态资源,例如:静态文件、Java服务小程序、CGI脚本、数据库等,还可以应用于对服务器、网络或对象模拟巨大的负载,测试服务器、网络或对象的强度和分析整体性能。
预置JMeter测试平台应用于不同的领域中,对应的性能测试任务指令的内容均不同,需要说明的是,性能测试任务指令中一定包括需要与性能测试指令任务进行绑定的JMeter测试脚本的名称,服务器通过JMeter测试脚本的名称为性能测试任务指令分配预置JMeter测试平台中的JMeter测试脚本,这样才能进一步进行性能测试。
203、为性能测试任务指令分配记录地址,并将记录地址存储至预置JMeter测试平台的数据库;
具体的,服务器提取性能测试任务指令,将性能测试任务指令输入至预置JMeter测试平台的数据库中;服务器将性能测试任务指令记录在数据库中的任务表中,利用预置地址递增生成规则创建性能测试任务指令的记录地址,并将记录地址存储在任务表中。
为了便于历史性能数据查询,在进行不同性能测试任务指令时,均需要对该指令进行记录,相应的,JMeter测试脚本对性能测试任务指令的测试结果也需要进行记录保存,通过分析每版本的性能差距,利于性能问题分析。
在进行性能测试任务指令的记录保存时,服务器会将性能测试任务指令输入至预置JMeter测试平台的数据库中,并利用预置地址递增生成规则创建性能测试任务指令的记录地址,将性能测试任务指令与对应的记录地址均保存在数据库的任务表中,完成性能测试任务指令的记录。
需要说明的是,每个性能测试任务指令均对应唯一一个记录地址,在数据库的任务表中,每个性能测试任务指令对应一条记录内容。此外,预置地址递增生成规则为数据库自增ID,其使用数据库的ID自增策略,如MySQL的auto_increment。并且可以使用两台数据库分别设置不同步长,生成不重复ID的策略实现记录地址的高效可用性。
204、基于JMeter测试脚本对性能测试任务指令进行解析,得到测试性能指标;
JMeter测试脚本对性能测试任务指令进行解析可以得到TPS、每秒查询率(queries-per-second,QPS)、延时、被测系统的中央处理器(central processing unit,CPU)和内存等性能指标,这里通过JMeter测试脚本对性能测试任务指令进行解析是本领域中的惯用技术手段,故在此不赘述JMeter测试脚本对性能测试任务指令解析的步骤。
205、调用JMeter测试脚本中的压力测试脚本,利用压力测试脚本对测试性能指标进行测试,生成目标性能指标数据,并将目标性能指标数据存储至数据库中;
具体的,服务器首先通过集成在Web服务器上的JMeter应用程序接口API获取测试性能指标;其次服务器调用JMeter测试脚本中的压力测试脚本,在压力测试脚本中创建线程组,并创建线程组的压力测试请求;然后服务器将测试性能指标填写入压力测试请求中,得到目标压力测试参数;最后服务器添加结果树查看目标压力测试参数,并添加响应断言与聚合报告生成目标压力测试参数的目标性能指标数据,将目标性能指标数据存储至数据库中。
服务器首先通过Web服务器上的JMeter应用程序接口API获取通过JMeter测试脚本对性能测试任务指令进行解析得到测试性能指标,这里的应用程序接口API是一些预先定义的函数或指软件系统不同组成部分衔接的约定。这里测试性能指标至少包括:响应时间、吞吐量、服务器资源占用及性能瓶颈,具体的,服务器资源占用至少包括CPU的占用率、内存使用率、查询Cache命令率、磁盘I/O读写速率等;性能瓶颈至少包括:
1、硬件上的性能瓶颈:
一般指的是CPU、内存、磁盘读写等瓶颈,为服务器硬件瓶颈;
2、应用软件上的性能瓶颈:
一般指的是服务器操作系统瓶颈(参数配置)、数据库瓶颈(参数配置)、web服务器瓶颈(参数配置)、中间件瓶颈(参数配置)等;
3、应用程序上的性能瓶颈:
一般指的是开发出来的应用程序(如sql语句、数据库设计、业务逻辑、算法等);
4、操作系统上的性能瓶颈:
一般指的是Windows、linux等操作系统,如出现物理内存不足时,或虚拟内存设置不合理(虚拟内存设置不合理,会导致虚拟内存的交换率大大降低,从而导致行为的响应时间大大增加,可以认为在操作系统上出现了性能瓶颈);
5、网络设备上的性能瓶颈:
一般指的是防火墙、动态负载均衡器、交换机等设备中的瓶颈。
得到测试性能指标之后,服务器用JMeter测试脚本中的压力测试脚本,在压力测试脚本中创建线程组,并创建线程组的压力测试请求,这里的线程组可以为http请求,具体的,线程组中的参数至少为:
1、线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置虚拟用户数的数量值即为线程数的数量值,具体的数量值可以根据不同的情况进行设定。
2、Ramp-Up Period(in seconds)准备时长:启动全部虚拟用户数所需时间。
3、循环次数:每个线程发送请求的次数。
4、Delay Thread creation until needed:创建延迟线程的条件。
5、调度器:设置线程组启动的开始时间和结束时间。具体包括:
持续时间(秒):测试持续时间,会覆盖结束时间;
启动延迟(秒):测试延迟启动时间,会覆盖启动时间;
启动时间:测试启动时间,启动延迟会将其覆盖。当超过启动时间后,手动只需测试时当前时间也会将其覆盖;
结束时间:测试结束时间,持续时间会将其覆盖。
服务器在得到压力测试请求之后,将测试性能指标填写入压力测试请求中,得到目标压力测试参数,最后服务器添加结果树查看目标压力测试参数,并添加响应断言与聚合报告生成目标压力测试参数的目标性能指标数据,将目标性能指标数据存储至数据库中,这里的数据库为mysql数据库,还可以为orical、SQLServer、DB2等关系型数据库。
需要强调的是,为进一步保证上述目标性能指标数据的私密和安全性,上述目标性能指标数据还可以存储于一区块链的节点中。
206、获取性能测试结果调用请求,利用性能测试结果调用请求在数据库中调用对应的目标性能指标数据,并在全球广域网Web服务器上显示目标性能指标数据。
服务器通过JMeter测试脚本中的压力测试脚本生成目标性能指标数据后,便可以将目标性能指标数据进行显示,在进行显示之前,服务器需要获取显示目标性能指标数据的调用请求,只有获取到性能测试结果调用请求,才能调用对应的目标性能指标数据进行显示,这里的性能测试结果调用请求用于指示需要显示哪些性能指标。
进一步说明的是,目标性能指标数据是在Web服务器中显示的,Web服务器是名为龙卷风(Tornado)的一种Web服务器软件的开源版本,其为非阻塞式服务器,在进行处理数据时每秒可以处理数以千计的连接,此外利用该服务器框架可以进行以下操作:
1、处理超文本传输协议http请求;
2、调用tornado中的API处理套接字socket的异步读写;
3、使用tornado中的IOLoop进行事件循环,响应性能测试结果调用请求。
本发明实施例中,通过JMeter测试脚本中的压力测试脚本对测试性能指标进行测试,生成目标性能指标数据,并将目标性能指标数据存储至数据库中,再通过性能测试结果调用请求调取目标性能指标数据,直接在Web服务器上显示目标性能指标数据,提高了查看JMeter测试脚本性能测试的性能分析数据的查看效率。
上面对本发明实施例中性能测试指标数据的显示方法进行了描述,下面对本发明实施例中性能测试指标数据的显示装置进行描述,请参阅图3,本发明实施例中性能测试指标数据的显示装置一个实施例包括:
分配模块301,用于获取性能测试任务指令,将所述性能测试任务指令输入至预置JMeter测试平台中,通过所述预置JMeter测试平台为所述性能测试任务指令分配JMeter测试脚本,所述性能测试任务指令中包括对应JMeter测试脚本的名称;
解析模块302,用于基于所述JMeter测试脚本对所述性能测试任务指令进行解析,得到测试性能指标;
测试模块303,用于调用所述JMeter测试脚本中的压力测试脚本,利用所述压力测试脚本对所述测试性能指标进行测试,生成目标性能指标数据,并将所述目标性能指标数据存储至数据库中;
调用模块304,用于获取性能测试结果调用请求,利用所述性能测试结果调用请求在所述数据库中调用对应的目标性能指标数据,并在全球广域网Web服务器上显示所述目标性能指标数据。
本发明实施例中,通过JMeter测试脚本中的压力测试脚本对测试性能指标进行测试,生成目标性能指标数据,并将目标性能指标数据存储至数据库中,再通过性能测试结果调用请求调取目标性能指标数据,直接在Web服务器上显示目标性能指标数据,提高了查看JMeter测试脚本性能测试的性能分析数据的查看效率。
请参阅图4,本发明实施例中性能测试指标数据的显示装置的另一个实施例包括:
分配模块301,用于获取性能测试任务指令,将所述性能测试任务指令输入至预置JMeter测试平台中,通过所述预置JMeter测试平台为所述性能测试任务指令分配JMeter测试脚本,所述性能测试任务指令中包括对应JMeter测试脚本的名称;
解析模块302,用于基于所述JMeter测试脚本对所述性能测试任务指令进行解析,得到测试性能指标;
测试模块303,用于调用所述JMeter测试脚本中的压力测试脚本,利用所述压力测试脚本对所述测试性能指标进行测试,生成目标性能指标数据,并将所述目标性能指标数据存储至数据库中;
调用模块304,用于获取性能测试结果调用请求,利用所述性能测试结果调用请求在所述数据库中调用对应的目标性能指标数据,并在全球广域网Web服务器上显示所述目标性能指标数据。
可选的,测试模块303具体用于:
通过集成在Web服务器上的JMeter应用程序接口API获取测试性能指标;
调用所述JMeter测试脚本中的压力测试脚本,在所述压力测试脚本中创建线程组,并创建所述线程组的压力测试请求;
将所述测试性能指标填写入所述压力测试请求中,得到目标压力测试参数;
添加结果树查看所述目标压力测试参数,并添加响应断言与聚合报告生成所述目标压力测试参数的目标性能指标数据,将所述目标性能指标数据存储至数据库中。
可选的,性能测试指标数据的显示装置还包括:
选择模块305,用于根据堡垒机的运行状态选择执行性能测试任务指令的堡垒机,Web服务器部署在所述堡垒机上,JMeter API集成在所述Web服务器中。
可选的,选择模块305具体用于:
调用预置检测指令判断堡垒机对应的JMeter测试脚本中是否存在性能测试任务指令的进程,Web服务器部署在所述堡垒机上,JMeter API集成在所述Web服务器中;
若所述堡垒机对应的JMeter测试脚本中存在性能测试任务指令的进程,则确定所述堡垒机的运行状态为繁忙状态,当所述堡垒机为繁忙状态时,搜索运行状态为空闲状态的堡垒机,并占用所述空闲状态的堡垒机执行所述性能测试任务指令;
若所述堡垒机对应的JMeter测试脚本中不存在性能测试任务指令的进程,则确定所述堡垒机的运行状态为空闲状态,当所述堡垒机为空闲状态时,占用所述空闲状态的堡垒机执行所述性能测试任务指令。
可选的,性能测试指标数据的显示装置还包括:
记录模块306,用于为性能测试任务指令分配记录地址,并将所述记录地址存储至预置JMeter测试平台的数据库。
可选的,记录模块306包括:
提取性能测试任务指令,将所述性能测试任务指令输入至预置JMeter测试平台的数据库中;
将所述性能测试任务指令记录在所述数据库中的任务表中,利用预置地址递增生成规则创建所述性能测试任务指令的记录地址,并将所述记录地址存储在所述任务表中。
本发明实施例中,通过JMeter测试脚本中的压力测试脚本对测试性能指标进行测试,生成目标性能指标数据,并将目标性能指标数据存储至数据库中,再通过性能测试结果调用请求调取目标性能指标数据,直接在Web服务器上显示目标性能指标数据,提高了查看JMeter测试脚本性能测试的性能分析数据的查看效率。
上面图3和图4从模块化功能实体的角度对本发明实施例中的性能测试指标数据的显示装置进行详细描述,下面从硬件处理的角度对本发明实施例中性能测试指标数据的显示设备进行详细描述。
图5是本发明实施例提供的一种性能测试指标数据的显示设备的结构示意图,该性能测试指标数据的显示设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对性能测试指标数据的显示设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在性能测试指标数据的显示设备500上执行存储介质530中的一系列指令操作。
性能测试指标数据的显示设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5示出的性能测试指标数据的显示设备结构并不构成对性能测试指标数据的显示设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种性能测试指标数据的显示设备,所述计算机设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述性能测试指标数据的显示方法的步骤。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述性能测试指标数据的显示方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种性能测试指标数据的显示方法,其特征在于,所述性能测试指标数据的显示方法包括:
获取性能测试任务指令,将所述性能测试任务指令输入至预置JMeter测试平台中,通过所述预置JMeter测试平台为所述性能测试任务指令分配JMeter测试脚本,所述性能测试任务指令中包括对应JMeter测试脚本的名称;
基于所述JMeter测试脚本对所述性能测试任务指令进行解析,得到测试性能指标;
调用所述JMeter测试脚本中的压力测试脚本,利用所述压力测试脚本对所述测试性能指标进行测试,生成目标性能指标数据,并将所述目标性能指标数据存储至数据库中;
获取性能测试结果调用请求,利用所述性能测试结果调用请求在所述数据库中调用对应的目标性能指标数据,并在全球广域网Web服务器上显示所述目标性能指标数据。
2.根据权利要求1所述的性能测试指标数据的显示方法,其特征在于,所述调用所述JMeter测试脚本中的压力测试脚本,利用所述压力测试脚本对所述测试性能指标进行测试,生成目标性能指标数据,并将所述目标性能指标数据存储至数据库中包括:
通过集成在Web服务器上的JMeter应用程序接口API获取测试性能指标;
调用所述JMeter测试脚本中的压力测试脚本,在所述压力测试脚本中创建线程组,并创建所述线程组的压力测试请求;
将所述测试性能指标填写入所述压力测试请求中,得到目标压力测试参数;
添加结果树查看所述目标压力测试参数,并添加响应断言与聚合报告生成所述目标压力测试参数的目标性能指标数据,将所述目标性能指标数据存储至数据库中。
3.根据权利要求1所述的性能测试指标数据的显示方法,其特征在于,在所述获取性能测试任务指令,将所述性能测试任务指令输入至预置JMeter测试平台中,通过所述预置JMeter测试平台为所述性能测试任务指令分配JMeter测试脚本,所述性能测试任务指令中包括对应JMeter测试脚本的名称之前,所述性能测试指标数据的显示方法还包括:
根据堡垒机的运行状态选择执行性能测试任务指令的堡垒机,Web服务器部署在所述堡垒机上,JMeter API集成在所述Web服务器中。
4.根据权利要求3所述的性能测试指标数据的显示方法,其特征在于,所述根据堡垒机的运行状态选择执行性能测试任务指令的堡垒机,Web服务器部署在所述堡垒机上,JMeterAPI集成在所述Web服务器中包括:
调用预置检测指令判断堡垒机对应的JMeter测试脚本中是否存在性能测试任务指令的进程,Web服务器部署在所述堡垒机上,JMeter API集成在所述Web服务器中;
若所述堡垒机对应的JMeter测试脚本中存在性能测试任务指令的进程,则确定所述堡垒机的运行状态为繁忙状态,当所述堡垒机为繁忙状态时,搜索运行状态为空闲状态的堡垒机,并占用所述空闲状态的堡垒机执行所述性能测试任务指令;
若所述堡垒机对应的JMeter测试脚本中不存在性能测试任务指令的进程,则确定所述堡垒机的运行状态为空闲状态,当所述堡垒机为空闲状态时,占用所述空闲状态的堡垒机执行所述性能测试任务指令。
5.根据权利要求1-4中任一项所述的性能测试指标数据的显示方法,其特征在于,在所述获取性能测试任务指令,将所述性能测试任务指令输入至预置JMeter测试平台中,通过所述预置JMeter测试平台为所述性能测试任务指令分配JMeter测试脚本,所述性能测试任务指令中包括对应JMeter测试脚本的名称之后,在所述基于所述JMeter测试脚本对所述性能测试任务指令进行解析,得到测试性能指标之前,所述性能测试指标数据的显示方法还包括:
为性能测试任务指令分配记录地址,并将所述记录地址存储至预置JMeter测试平台的数据库。
6.根据权利要求5所述的性能测试指标数据的显示方法,其特征在于,所述为性能测试任务指令分配记录地址,并将所述记录地址存储至预置JMeter测试平台的数据库包括:
提取性能测试任务指令,将所述性能测试任务指令输入至预置JMeter测试平台的数据库中;
将所述性能测试任务指令记录在所述数据库中的任务表中,利用预置地址递增生成规则创建所述性能测试任务指令的记录地址,并将所述记录地址存储在所述任务表中。
7.一种性能测试指标数据的显示装置,其特征在于,所述性能测试指标数据的显示装置包括:
分配模块,用于获取性能测试任务指令,将所述性能测试任务指令输入至预置JMeter测试平台中,通过所述预置JMeter测试平台为所述性能测试任务指令分配JMeter测试脚本,所述性能测试任务指令中包括对应JMeter测试脚本的名称;
解析模块,用于基于所述JMeter测试脚本对所述性能测试任务指令进行解析,得到测试性能指标;
测试模块,用于调用所述JMeter测试脚本中的压力测试脚本,利用所述压力测试脚本对所述测试性能指标进行测试,生成目标性能指标数据,并将所述目标性能指标数据存储至数据库中;
调用模块,用于获取性能测试结果调用请求,利用所述性能测试结果调用请求在所述数据库中调用对应的目标性能指标数据,并在全球广域网Web服务器上显示所述目标性能指标数据。
8.根据权利要求7所述的性能测试指标数据的显示方法,其特征在于,所述测试模块具体用于:
通过集成在Web服务器上的JMeter应用程序接口API获取测试性能指标;
调用所述JMeter测试脚本中的压力测试脚本,在所述压力测试脚本中创建线程组,并创建所述线程组的压力测试请求;
将所述测试性能指标填写入所述压力测试请求中,得到目标压力测试参数;
添加结果树查看所述目标压力测试参数,并添加响应断言与聚合报告生成所述目标压力测试参数的目标性能指标数据,将所述目标性能指标数据存储至数据库中。
9.一种性能测试指标数据的显示设备,其特征在于,所述性能测试指标数据的显示设备包括:存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述性能测试指标数据的显示设备执行如权利要求1-6中任意一项所述的性能测试指标数据的显示方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-6中任一项所述性能测试指标数据的显示方法。
CN202011417689.XA 2020-12-07 2020-12-07 性能测试指标数据的显示方法、装置、设备及存储介质 Pending CN112527642A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011417689.XA CN112527642A (zh) 2020-12-07 2020-12-07 性能测试指标数据的显示方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011417689.XA CN112527642A (zh) 2020-12-07 2020-12-07 性能测试指标数据的显示方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN112527642A true CN112527642A (zh) 2021-03-19

Family

ID=74997862

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011417689.XA Pending CN112527642A (zh) 2020-12-07 2020-12-07 性能测试指标数据的显示方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112527642A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113485918A (zh) * 2021-06-30 2021-10-08 中国民航信息网络股份有限公司 一种测试方法、装置、电子设备及存储介质
CN113836003A (zh) * 2021-08-30 2021-12-24 南京中兴力维软件有限公司 位置实体提取测试方法和JMeter性能测试设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113485918A (zh) * 2021-06-30 2021-10-08 中国民航信息网络股份有限公司 一种测试方法、装置、电子设备及存储介质
CN113485918B (zh) * 2021-06-30 2024-05-07 中国民航信息网络股份有限公司 一种测试方法、装置、电子设备及存储介质
CN113836003A (zh) * 2021-08-30 2021-12-24 南京中兴力维软件有限公司 位置实体提取测试方法和JMeter性能测试设备
CN113836003B (zh) * 2021-08-30 2023-07-25 南京中兴力维软件有限公司 位置实体提取测试方法和JMeter性能测试设备

Similar Documents

Publication Publication Date Title
Giménez-Alventosa et al. A framework and a performance assessment for serverless MapReduce on AWS Lambda
US8726240B2 (en) Capturing replayable information at software defect locations in a multi-tenant environment
CN110417613B (zh) 基于Jmeter的分布式性能测试方法、装置、设备及存储介质
US10116534B2 (en) Systems and methods for WebSphere MQ performance metrics analysis
Brunnert et al. Automatic performance model generation for java enterprise edition (ee) applications
Subraya et al. Object driven performance testing of Web applications
US20150347264A1 (en) Tracking application deployment errors via cloud logs
US7747986B2 (en) Generating static performance modeling factors in a deployed system
US20210326197A1 (en) System And Method For Automatically Identifying And Resolving Computing Errors
US9811356B2 (en) Automated software configuration management
EP2192491B1 (en) System and method of implementing a concurrency profiler
US6928378B2 (en) Stress testing at low cost through parallel execution of unit tests
JP2009519523A (ja) 仮想データ・センタ複合体内のターゲット仮想オペレーティング・システムのパフォーマンスをモニタするための方法、システム、およびコンピュータ・プログラム
Nguyen et al. Understanding the influence of configuration settings: An execution model-driven framework for apache spark platform
CN112231219A (zh) 自动化测试监控方法、装置、设备及存储介质
CN112527599A (zh) 智能监控方法、装置、电子设备及可读存储介质
CN112559285A (zh) 基于分布式服务架构的微服务监控方法及相关装置
CN112527642A (zh) 性能测试指标数据的显示方法、装置、设备及存储介质
US11816511B1 (en) Virtual partitioning of a shared message bus
Di Sanzo et al. A flexible framework for accurate simulation of cloud in-memory data stores
CN113934512A (zh) 负载均衡实现方法、装置、设备及存储介质
US10558391B2 (en) Data processing system and data processing method
Straesser et al. An empirical study of container image configurations and their impact on start times
CN112433908B (zh) 确定检测服务器的间隔时间的方法、系统、设备及介质
CN114297042A (zh) 接口的压力性能测试方法、装置、设备及存储介质

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