CN114625621A - 性能测试方法、装置、计算机设备和存储介质 - Google Patents
性能测试方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114625621A CN114625621A CN202210236276.4A CN202210236276A CN114625621A CN 114625621 A CN114625621 A CN 114625621A CN 202210236276 A CN202210236276 A CN 202210236276A CN 114625621 A CN114625621 A CN 114625621A
- Authority
- CN
- China
- Prior art keywords
- data
- performance
- preset
- server
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3414—Workload generation, e.g. scripts, playback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及人工智能技术领域,提供一种性能测试方法、装置、计算机设备和存储介质,方法包括:接收用户触发的压测任务请求;响应所述压测任务请求,获取预存储的测试脚本;调用预设的Jmeterapi接口执行所述测试脚本,以对预设的服务器进行性能测试;在性能测试过程中,调用预设的监控组件对所述服务器进行监控,得到与所述服务器对应的性能数据;基于所述性能数据生成相应的性能测试报告。本申请能够实现对于服务器的自动化性能测试,以及自动生成相应的测试报告,提高了性能测试过程的测试效率与处理智能性。本申请还可以应用于区块链领域,上述性能数据等数据可以存储于区块链上。
Description
技术领域
本申请涉及人工智能技术领域,具体涉及一种性能测试方法、装置、计算机设备和存储介质。
背景技术
当前业界主流的压测工具主要有Jmeter工具。在使用Jmeter工具进行压测时,首先用户需要在本地准备脚本,然后使用Jmeter工具向服务器发送请求。在对服务器进行压测的过程中,需要人工到服务器查看资源使用情况,收集相关的测试数据记录,并且还需要手工汇总与统计测试结果,这样的压测方式需要耗费大量的人力时间,测试效率低,缺乏智能性。
发明内容
本申请的主要目的为提供一种性能测试方法、装置、计算机设备和存储介质,旨在解决现有的采用Jmeter工具的压测方式需要耗费大量的人力时间,测试效率低,缺乏智能性的技术问题。
本申请提出一种性能测试方法,所述方法包括步骤:
接收用户触发的压测任务请求;
响应所述压测任务请求,获取预存储的测试脚本;
调用预设的Jmeterapi接口执行所述测试脚本,以对预设的服务器进行性能测试;
在性能测试过程中,调用预设的监控组件对所述服务器进行监控,得到与所述服务器对应的性能数据;
基于所述性能数据生成相应的性能测试报告。
可选地,所述调用预设的Jmeterapi接口执行所述测试脚本,以对预设的服务器进行性能测试的步骤,包括:
生成与所述压测任务请求对应的定时任务;
获取当前时间;
判断当前时间是否达到与所述定时任务对应的时间条件;
若是,调用预设的Jmeterapi接口执行所述测试脚本,以对预设的服务器进行性能测试。
可选地,所述调用预设的监控组件对所述服务器进行监控,得到与所述服务器对应的性能数据的步骤之后,包括:
获取预设的区块链中包含的多个存储区块的可用内存,以及获取所述性能数据的占用内存;
从所有所述存储区块中筛选出可用内存大于所述占用内存的第一存储区块;
获取各所述第一存储区块在预设时间周期内的数据存储次数、数据存储失败次数、存储内存使用量以及数据清理指数;
基于所述数据存储次数、数据存储失败次数、存储内存使用量以及数据清理指数,调用预设的计算公式计算出各所述第一存储区块的数据存储得分;
从所有所述数据存储得分中获取数值最大的目标数据存储得分;
从所述第一存储区块中获取与所述目标数据存储得分对应的第二存储区块;
将所述性能数据存储于所述第二存储区块内。
可选地,所述获取各所述第一存储区块在预设时间周期内的数据存储次数、数据存储失败次数、存储内存使用量以及数据清理指数的步骤之前,包括:
获取指定存储区块在所述预设时间周期内的数据清理次数;其中,所述指定存储区块为所有所述第一存储区块中的任意一个存储区块;
获取所述指定存储区块在所述预设时间周期内每一次的清理内存数值,并从所有所述清理内存数值中筛选出数值大于预设的清理内存阈值的指定清理内存数值;
获取所述指定清理内存数值的数量;
获取与所述数据清理次数对应的第一权重,以及获取与所述指定清理内存数值的数量对应的第二权重;
基于所述第一权重与所述第二权重对所述数据清理次数与所述指定清理内存数值的数量进行运算处理,得到对应的运算结果值;
将所述运算结果值作为所述指定存储区块的数据清理指数。
可选地,所述调用预设的监控组件对所述服务器进行监控,得到与所述服务器对应的性能数据的步骤之后,包括:
调用预设的可视化工具;
通过所述可视化工具将所述性能数据转换成相应的可视化图标数据;
在当前界面展示所述可视化图标数据。
可选地,所述调用预设的监控组件对所述服务器进行监控,得到与所述服务器对应的性能数据的步骤之后,包括:
对所述性能数据进行异常分析,判断所述性能数据中是否存在异常数据;
若是,提取所述性能数据中的所述异常数据,并生成与所述异常数据对应的预警信息;
获取预设的邮件登录信息,以及获取与第一目标用户对应的目标邮件地址;
基于所述邮件登录信息登录至对应的邮件服务器;
通过所述邮件服务器将所述预警信息发送至所述目标邮件地址。
可选地,所述基于所述性能数据生成相应的性能测试报告的步骤之后,包括:
获取第二目标用户的用户画像;
从所述用户画像中提取出所述第二目标用户对于各种信息接收渠道的偏好数值;
从所有所述信息接收渠道中筛选出偏好数值最大的目标信息接收渠道;
基于所述目标信息接收渠道将所述性能测试报告发送至所述第二目标用户。
本申请还提供一种性能测试装置,包括:
接收模块,用于接收用户触发的压测任务请求;
第一获取模块,用于响应所述压测任务请求,获取预存储的测试脚本;
测试模块,用于调用预设的Jmeterapi接口执行所述测试脚本,以对预设的服务器进行性能测试;
监控模块,用于在性能测试过程中,调用预设的监控组件对所述服务器进行监控,得到与所述服务器对应的性能数据;
第一生成模块,用于基于所述性能数据生成相应的性能测试报告。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本申请中提供的性能测试方法、装置、计算机设备和存储介质,具有以下有益效果:
本申请中提供的性能测试方法、装置、计算机设备和存储介质,在接收到用户触发的压测任务请求后,通过调用预设的Jmeterapi接口执行预存储的测试脚本,即可实现对于相应服务器的自动化压测,并会在测试过程中利用监控组件对服务器进行监控,进而根据监控得到的性能数据来自动化生成相应的性能测试报告,有效地减少了测试人员的工作量,提高了对于服务器的性能测试过程的测试效率,提高了性能测试处理的智能性。
附图说明
图1是本申请一实施例的性能测试方法的流程示意图;
图2是本申请一实施例的性能测试装置的结构示意图;
图3是本申请一实施例的计算机设备的结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用于解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
参照图1,本申请一实施例的性能测试方法,包括:
S10:接收用户触发的压测任务请求;
S20:响应所述压测任务请求,获取预存储的测试脚本;
S30:调用预设的Jmeterapi接口执行所述测试脚本,以对预设的服务器进行性能测试;
S40:在性能测试过程中,调用预设的监控组件对所述服务器进行监控,得到与所述服务器对应的性能数据;
S50:基于所述性能数据生成相应的性能测试报告。
如上述步骤S10至S50所述,本方法实施例的执行主体为一种性能测试装置,具体可为压测系统。在实际应用中,上述性能测试装置可以通过虚拟装置,例如软件代码实现,也可以通过写入或集成有相关执行代码的实体装置实现,且可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。本实施例中的性能测试装置,能够有效地减少测试人员的工作量,提高性能测试过程的测试效率,提高了性能测试处理的智能性。具体地,首先接收用户触发的压测任务请求。其中所述压测任务请求可为用户在web界面触发的用于对预设的服务器进行性能测试的任务请求。然后响应所述压测任务请求,获取预存储的测试脚本。其中,所述测试脚本可为用户预先上传至性能测试装置内的,且在上传完成后还可支持对于该测试脚本的在线编辑。传统方案缺少对测试结果和性能数据的管理和维护,消耗的大量精力编写的测试脚本在完成一次,两次压测处理后就被丢弃。另外,后续可深入解析Jmeter的测试脚本,并提供测试脚本的在线管理编辑功能,使得测试脚本可以多次复用在线调整与分类别管理,有利于提升测试脚本的使用效率。
之后调用预设的Jmeterapi接口执行所述测试脚本,以对预设的服务器进行性能测试。Jmeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试。Jmeter可以用于对服务器、网络或对象模拟巨大的负载,分析不同压力类型下的整体性能。另外,Jmeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证程序是否返回了期望的结果。具体的,可提供两种对于服务器的性能测试的实现方式:一种是直接调用Jmeterapi执行测试脚本,另一种是生成定时任务,在达到预设时间时,利用性能测试装置内部的持续集成工具调用Jmeterapi执行测试脚本。其中,持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。具体的,关于持续集成模块的设计,在分层测试框架的支持下,可通过将持续集成模块与maven以及Jenkins结合在一起,实现从构建自动化测试脚本开始,到分析测试结果并生成测试报告,最终汇总到压测系统内的过程,可以取代原来的手工操作,减少测试人员的工作量。对测试脚本进行持续集成的目标是自动化构建测试用例,以便每天自动执行一次或多次这些过程,而不是每个周手动运行一次。使用持续集成的最大好处在于代码的更改会定期地自动被集成,各种信息一手掌握。另外,持续集成模块在压测系统内部,是压测系统的一部分,用于定时构建,并在定时构建后触发推送功能。
后续在性能测试过程中,调用预设的监控组件对所述服务器进行监控,得到与所述服务器对应的性能数据。其中,监控组件可包括以下任意一项或多项监控工具:InfluxDB、Grafana、Pinpoint。InfluxDB是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。Grafana是一个开源的数据监控分析可视化平台,支持多种数据源配置和丰富的插件及模板功能,支持图表权限控制和报警。Pinpoint是开源的基于字节码注入的调用链分析,以及应用监控分析工具,特点是支持多种插件,UI功能强大,接入端无代码侵入。另外,所述性能数据可包括压力测试过程会产生大量的性能数据类似TPS(Transactions Per Second,每秒传输的事物处理个数,即服务器每秒处理的事务数),RT(Response Time,服务器的响应时间,响应时间是客户端发起请求,到服务器返回结果的处理时间)等,通过将这些数据储存下来,有利于可以对服务器每个迭代的过程进行性能数据分析。最后基于所述性能数据生成相应的性能测试报告。其中,基于所述性能数据生成对应的性能测试报告的过程可包括:获取预设的报告模板,将所述性能数据填充至所述报告模板的对应位置处,得到所述性能测试报告。所述报告模板为根据实际的使用需求预先创建生成的,该报告模板内预先填充有性能指标字段,可通过将性能数据填充至具有对应关系的性能指标字段的内容填充位置,进而生成相应的性能测试报告。另外,在生成测试报告之后,还可以通过多种渠道将所述性能测试报告推送给目标用户。此外,在生成了性能测试报告后,还可同步展示该性能测试报告。例如为了便于用户查看不同阶段的性能变化趋势,还可以根据性能数据生成趋势图,并对其进行可视化展示。
本实施例中,在接收到用户触发的压测任务请求后,通过调用预设的Jmeterapi接口执行预存储的测试脚本,即可实现对于相应服务器的自动化压测,并会在测试过程中利用监控组件对服务器进行监控,进而根据监控得到的性能数据来自动化生成相应的性能测试报告,有效地减少了测试人员的工作量,提高了对于服务器的性能测试过程的测试效率,提高了性能测试处理的智能性。
进一步地,本申请一实施例中,上述步骤S30,包括:
S300:生成与所述压测任务请求对应的定时任务;
S301:获取当前时间;
S302:判断当前时间是否达到与所述定时任务对应的时间条件;
S303:若是,调用预设的Jmeterapi接口执行所述测试脚本,以对预设的服务器进行性能测试。
如上述步骤S300至S303所述,所述调用预设的Jmeterapi接口执行所述测试脚本,以对预设的服务器进行性能测试的步骤,具体可包括:首先生成与所述压测任务请求对应的定时任务。然后获取当前时间。后续判断当前时间是否达到与所述定时任务对应的时间条件。其中,对于所述时间条件的取值不作具体限定,可根据实际需求进行设置,例如可设置为空闲时间段内的起始时间点,举例地,该起始时间点为深夜时间段的0点。若是,调用预设的Jmeterapi接口执行所述测试脚本,以对预设的服务器进行性能测试。其中,由于环境资源有限,工作时间同时对服务器进行并发测试会有冲突,所以通过内置的持续集成模块提供了定时压测功能,以通过在工作时间通过定时任务自动执行性能测试,并实时计算性能数据,且后续可以基于得到的性能数据自动生成相应的测试报告结果,有效地提高了对于服务器的压测处理的智能性。本实施例中,在接收到用户触发的压测任务请求后,通过生成与所述压测任务请求对应的定时任务来定时执行对于预设的服务器的性能测试,以实现对于服务器的自动化压测,无需人为触发,且通过只在当前时间是否达到所述定时任务对应的时间条件后,才会执行对服务器的性能测试处理,有效地提高了压测处理的智能性。
进一步地,本申请一实施例中,上述步骤S40之后,包括:
S400:获取预设的区块链中包含的多个存储区块的可用内存,以及获取所述性能数据的占用内存;
S401:从所有所述存储区块中筛选出可用内存大于所述占用内存的第一存储区块;
S402:获取各所述第一存储区块在预设时间周期内的数据存储次数、数据存储失败次数、存储内存使用量以及数据清理指数;
S403:基于所述数据存储次数、数据存储失败次数、存储内存使用量以及数据清理指数,调用预设的计算公式计算出各所述第一存储区块的数据存储得分;
S404:从所有所述数据存储得分中获取数值最大的目标数据存储得分;
S405:从所述第一存储区块中获取与所述目标数据存储得分对应的第二存储区块;
S406:将所述性能数据存储于所述第二存储区块内。
如上述步骤S400至S406所述,在执行所述调用预设的监控组件对所述服务器进行监控,得到与所述服务器对应的性能数据的步骤之后,还可包括对于所述性能数据的智能存储过程。具体地,首先获取预设的区块链中包含的多个存储区块的可用内存,以及获取所述性能数据的占用内存。其中,会预先将区块链划分为多个存储区块来进行相应的数据存储。然后从所有所述存储区块中筛选出可用内存大于所述占用内存的第一存储区块。之后获取各所述第一存储区块在预设时间周期内的数据存储次数、数据存储失败次数、存储内存使用量以及数据清理指数。其中,对于所述预设时间周期不作具体限定,可根据实际需求进行设置,例如可为距离当前时间的前一个星期。后续基于所述数据存储次数、数据存储失败次数、存储内存使用量以及数据清理指数,调用预设的计算公式计算出各所述第一存储区块的数据存储得分。具体的,所述计算公式可为:score=(Y*a+C*b+1/B*c)/Q,score为数据存储得分,Y为数据存储次数,a为数据存储次数的权重,C为存储内存使用量,b为存储内存使用量的权重,B为数据存储失败次数,c为数据存储失败次数的权重,Q为数据清理指数。其中,数据存储次数越大,存储内存使用量越大,数据存储失败次数越小,数据清理指数越小,则表明该存储区块为用户经常使用的用于存储数据的区块,且该存储区块的数据存储很少出现失败的情况,并且该存储区块内存储的数据被清理的可能性越小,从而使用该存储区块进行当前的性能数据存储可以保证用户的使用满意度,进而提高数据存储的智能性与稳定性。在得到了数据存储得分后,从所有所述数据存储得分中获取数值最大的目标数据存储得分。最后从所述第一存储区块中获取与所述目标数据存储得分对应的第二存储区块。并将所述性能数据存储于所述第二存储区块内。本实施例中,在监测到服务器的性能数据后,首先会从所有所述存储区块中筛选出可用内存大于所述占用内存的第一存储区块,然后通过获取各所述第一存储区块在预设时间周期内的数据存储次数、数据存储失败次数、存储内存使用量以及数据清理指数,进而基于计算公式计算出各所述第一存储区块的数据存储得分,并将数值最大的数据存储得分对应的第二存储区块作为最终的用于存储性能数据的存储区块,以实现根据存储区块的存储情况和清理情况合理选取相应的存储区块来进行生成的性能数据的存储,有效的保证了得到的第二存储区块的准确性,也可以减少性能数据被清理的可能性,提高性能数据的存储效率与存储智能性,并且方便用户能够快速查询。
进一步地,本申请一实施例中,上述步骤S402之前,包括:
S4020:获取指定存储区块在所述预设时间周期内的数据清理次数;其中,所述指定存储区块为所有所述第一存储区块中的任意一个存储区块;
S4021:获取所述指定存储区块在所述预设时间周期内每一次的清理内存数值,并从所有所述清理内存数值中筛选出数值大于预设的清理内存阈值的指定清理内存数值;
S4022:获取所述指定清理内存数值的数量;
S4023:获取与所述数据清理次数对应的第一权重,以及获取与所述指定清理内存数值的数量对应的第二权重;
S4024:基于所述第一权重与所述第二权重对所述数据清理次数与所述指定清理内存数值的数量进行运算处理,得到对应的运算结果值;
S4025:将所述运算结果值作为所述指定存储区块的数据清理指数。
如上述步骤S4020至S4025所述,在执行所述获取各所述第一存储区块在预设时间周期内的数据存储次数、数据存储失败次数、存储内存使用量以及数据清理指数的步骤之前,还可包括对于所述数据清理指数的生成过程。具体地,首先获取指定存储区块在所述预设时间周期内的数据清理次数。其中,所述指定存储区块为所有所述第一存储区块中的任意一个存储区块。然后获取所述指定存储区块在所述预设时间周期内每一次的清理内存数值,并从所有所述清理内存数值中筛选出数值大于预设的清理内存阈值的指定清理内存数值。其中,对于所述清理内存阈值的取值不作具体限定,可根据实际需求进行设置。之后获取所述指定清理内存数值的数量。后续获取与所述数据清理次数对应的第一权重,以及获取与所述指定清理内存数值的数量对应的第二权重。其中,对于所述第一权重与第二权重的取值不作具体限定,可根据实际需求进行设置或根据大量数据模拟得到。优选地,所述第一权重大于所述第二权重,且所述第一权重与所述第二权重的和值为1。最后基于所述第一权重与所述第二权重对所述数据清理次数与所述指定清理内存数值的数量进行运算处理,得到对应的运算结果值。并将所述运算结果值作为所述指定存储区块的数据清理指数。其中,所述运算处理可包括:基于所述第一权重与所述第二权重对所述数据清理次数与所述指定清理内存数值的数量进行加权求和,得到与所述指定存储区块对应的运算结果值。本实施例中,通过获取预设时间周期内的每一个第一存储区块的数据清理次数以及指定清理内存数值的数量来快速准确地计算出每一个第一存储区块的数据清理指数,有利于后续能够基于该数据清理指数来准确地计算出各所述第一存储区块的数据存储得分,进而根据得到的数据存储得分来准确快速地完成第二存储区块的确定,以使得后续可以将得到的性能数据存储于该第二存储区块内,从而可以提高性能数据的存储效率与存储智能性,减少性能数据被清理的可能性,方便用户能够快速查询。
进一步地,本申请一实施例中,上述步骤S40之后,包括:
S410:调用预设的可视化工具;
S411:通过所述可视化工具将所述性能数据转换成相应的可视化图标数据;
S412:在当前界面展示所述可视化图标数据。
如上述步骤S410至S412所述,在执行完所述调用预设的监控组件对所述服务器进行监控,得到与所述服务器对应的性能数据的步骤之后,还可包括对于所述性能数据的展示过程。具体地,首先调用预设的可视化工具。其中,对于所述可视化工具的选取不作限定,例如可为FineBI、Tableau、finereport等中的任意一种。然后通过所述可视化工具将所述性能数据转换成相应的可视化图标数据。后续在当前界面展示所述可视化图标数据。本实施例中,在对服务器进行性能测试得到了相应的性能数据后,通过使用可视化工具所述性能数据转换成相应的可视化图标数据,进而展示所述可视化图标数据,使得性能数据的展示效果一目了然,用户可以通过该可视化图标数据来方便地进行对于服务器的性能概况的评估,有效提高了用户的使用体验。
进一步地,本申请一实施例中,上述步骤S40之后,包括:
S420:对所述性能数据进行异常分析,判断所述性能数据中是否存在异常数据;
S421:若是,提取所述性能数据中的所述异常数据,并生成与所述异常数据对应的预警信息;
S422:获取预设的邮件登录信息,以及获取与第一目标用户对应的目标邮件地址;
S423:基于所述邮件登录信息登录至对应的邮件服务器;
S424:通过所述邮件服务器将所述预警信息发送至所述目标邮件地址。
如上述步骤S420至S424所述,在执行完所述调用预设的监控组件对所述服务器进行监控,得到与所述服务器对应的性能数据的步骤之后,还可包括对于所述性能数据的异常预警处理过程。具体地,首先对所述性能数据进行异常分析,判断所述性能数据中是否存在异常数据。其中,对性能数据进行分析后得到的分析结果的类型可包括性能数据存在异常或性能数据不存在异常。若为性能数据存在异常,则获取所述性能数据中的异常数据。所述异常数据为所述性能数据中存在异常的数据,即性能数据中不处于对应的数据范围阈值的特定数据。具体的,装置内集成了多种监控工具,如pinpoint,skywalking,granfana等。其中Pinpoint和skyworking主要是监控一个接口链路耗时,granfana主要是监控一些服务器硬件资源,其他还有一些db和redis的监控。常规压测的时候无须各个监控来回切换,可提前设计预警规则,设置阀值,智能监控。自动化压测的时候性能数据智能落库,包含TPS、RT等重要指标,便于后续分析不同版本的性能差异情况。压测过程中使用后端监听器监听性能数据,从Jmeter的日志文件中提取性能数据,redash、granfana等BI报表可以提取相关数据智能展示,当性能数据低于一定程度即可智能预警。若性能数据中存在异常数据,提取所述性能数据中的所述异常数据,并生成与所述异常数据对应的预警信息。其中,所述预警信息至少包括所述异常数据。可预先设置有相应的信息模板,然后将得到的所述异常数据填充至所述信息模板的相应位置处,从而生成对应的预警信息。另外,对于所述信息模板的具体内容不作限定,例如可为:从生成的性能数据中监测到以下异常数据:…。然后获取预设的邮件登录信息,以及获取与第一目标用户对应的目标邮件地址。其中,所述第一目标用户可为与服务器性能测试相关的运维人员。另外,Jmeter本身产生的测试报告文件包还通过tomcat服务以使相关用户主动进入站点访问该测试报告。后续基于所述邮件登录信息登录至对应的邮件服务器。最后通过所述邮件服务器将所述预警信息发送至所述目标邮件地址。本实施例中,在得到了与服务器对应的性能数据后,且检测出性能数据中存在异常数据时,会智能地根据性能数据中的异常数据生成相应的预警信息,并将该预警信息发送至第一目标用户对应的目标邮件地址,使得第一目标用户能够基于该预警信息及时了解到性能数据中存在数据异常的信息,从而能够及时对与该性能数据对应的服务器做出相应的修复处理,以及时解决服务器存在的问题,从而可以保障服务器的正常运作。
进一步地,本申请一实施例中,上述步骤S50之后,包括:
S510:获取第二目标用户的用户画像;
S511:从所述用户画像中提取出所述第二目标用户对于各种信息接收渠道的偏好数值;
S512:从所有所述信息接收渠道中筛选出偏好数值最大的目标信息接收渠道;
S513:基于所述目标信息接收渠道将所述性能测试报告发送至所述第二目标用户。
如上述步骤S510至S513所述,在执行完所述基于所述性能数据生成相应的性能测试报告的步骤之后,还可包括对于所述性能测试报告的智能推送过程。具体地,首先获取第二目标用户的用户画像。其中,所述第二目标用户可为预先指定的需要接收性能测试报告的用户,并可预先收集该第二目标用户的用户画像并存储。另外,所述用户画像至少包括该第二目标用户对于各种信息接收渠道的偏好数值,另外还可包括该第二目标用户的姓名、性别等其他信息。然后从所述用户画像中提取出所述第二目标用户对于各种信息接收渠道的偏好数值。后续从所有所述信息接收渠道中筛选出偏好数值最大的目标信息接收渠道。最后基于所述目标信息接收渠道将所述性能测试报告发送至所述第二目标用户。本实施例中,在生成了性能测试报告后,通过获取第二目标用户的用户画像,再基于用户画像确定出该第二目标用户所偏好的目标信息接收渠道,进而基于所述目标信息接收渠道,将所述性能测试报告发送给第二目标用户,有效地提高了性能测试报告推送的智能性,提高了用户的使用体验。
本申请实施例中的性能测试方法还可以应用于区块链领域,如将上述性能数据等数据存储于区块链上。通过使用区块链来对上述性能数据进行存储和管理,能够有效地保证上述性能数据的安全性与不可篡改性。
上述区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
参照图2,本申请一实施例中还提供了一种性能测试装置,包括:
接收模块1,用于接收用户触发的压测任务请求;
第一获取模块2,用于响应所述压测任务请求,获取预存储的测试脚本;
测试模块3,用于调用预设的Jmeterapi接口执行所述测试脚本,以对预设的服务器进行性能测试;
监控模块4,用于在性能测试过程中,调用预设的监控组件对所述服务器进行监控,得到与所述服务器对应的性能数据;
第一生成模块5,用于基于所述性能数据生成相应的性能测试报告。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的性能测试方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述测试模块3,包括:
生成单元,用于生成与所述压测任务请求对应的定时任务;
获取单元,用于获取当前时间;
判断单元,用于判断当前时间是否达到与所述定时任务对应的时间条件;
测试单元,用于若是,调用预设的Jmeterapi接口执行所述测试脚本,以对预设的服务器进行性能测试。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的性能测试方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述性能测试装置,包括:
第二获取模块,用于获取预设的区块链中包含的多个存储区块的可用内存,以及获取所述性能数据的占用内存;
第一筛选模块,用于从所有所述存储区块中筛选出可用内存大于所述占用内存的第一存储区块;
第三获取模块,用于获取各所述第一存储区块在预设时间周期内的数据存储次数、数据存储失败次数、存储内存使用量以及数据清理指数;
第一计算模块,用于基于所述数据存储次数、数据存储失败次数、存储内存使用量以及数据清理指数,调用预设的计算公式计算出各所述第一存储区块的数据存储得分;
第四获取模块,用于从所有所述数据存储得分中获取数值最大的目标数据存储得分;
第五获取模块,用于从所述第一存储区块中获取与所述目标数据存储得分对应的第二存储区块;
存储模块,用于将所述性能数据存储于所述第二存储区块内。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的性能测试方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述性能测试装置,包括:
第六获取模块,用于获取指定存储区块在所述预设时间周期内的数据清理次数;其中,所述指定存储区块为所有所述第一存储区块中的任意一个存储区块;
第二筛选模块,用于获取所述指定存储区块在所述预设时间周期内每一次的清理内存数值,并从所有所述清理内存数值中筛选出数值大于预设的清理内存阈值的指定清理内存数值;
第七获取模块,用于获取所述指定清理内存数值的数量;
第八获取模块,用于获取与所述数据清理次数对应的第一权重,以及获取与所述指定清理内存数值的数量对应的第二权重;
第二计算模块,用于基于所述第一权重与所述第二权重对所述数据清理次数与所述指定清理内存数值的数量进行运算处理,得到对应的运算结果值;
确定模块,用于将所述运算结果值作为所述指定存储区块的数据清理指数。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的性能测试方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述性能测试装置,包括:
调用模块,用于调用预设的可视化工具;
转换模块,用于通过所述可视化工具将所述性能数据转换成相应的可视化图标数据;
展示模块,用于在当前界面展示所述可视化图标数据。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的性能测试方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述性能测试装置,包括:
分析模块,用于对所述性能数据进行异常分析,判断所述性能数据中是否存在异常数据;
第二生成模块,用于若是,提取所述性能数据中的所述异常数据,并生成与所述异常数据对应的预警信息;
第九获取模块,用于获取预设的邮件登录信息,以及获取与第一目标用户对应的目标邮件地址;
登录模块,用于基于所述邮件登录信息登录至对应的邮件服务器;
第一发送模块,用于通过所述邮件服务器将所述预警信息发送至所述目标邮件地址。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的性能测试方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述性能测试装置,包括:
第十获取模块,用于获取第二目标用户的用户画像;
提取模块,用于从所述用户画像中提取出所述第二目标用户对于各种信息接收渠道的偏好数值;
第三筛选模块,用于从所有所述信息接收渠道中筛选出偏好数值最大的目标信息接收渠道;
第二发送模块,用于基于所述目标信息接收渠道将所述性能测试报告发送至所述第二目标用户。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的性能测试方法的步骤一一对应,在此不再赘述。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏、输入装置和数据库。其中,该计算机设备设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括存储介质、内存储器。该存储介质存储有操作系统、计算机程序和数据库。该内存储器为存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储测试脚本、性能数据以及性能测试报告。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机设备的显示屏是计算机中必不可少的一种图文输出设备,用于将数字信号转换为光信号,使文字与图形在显示屏的屏幕上显示出来。该计算机设备的输入装置是计算机与用户或其他设备之间进行信息交换的主要装置,用于把数据、指令及某些标志信息等输送到计算机中去。该计算机程序被处理器执行时以实现一种性能测试方法。
上述处理器执行上述性能测试方法的步骤:
接收用户触发的压测任务请求;
响应所述压测任务请求,获取预存储的测试脚本;
调用预设的Jmeterapi接口执行所述测试脚本,以对预设的服务器进行性能测试;
在性能测试过程中,调用预设的监控组件对所述服务器进行监控,得到与所述服务器对应的性能数据;
基于所述性能数据生成相应的性能测试报告。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的装置、计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种性能测试方法,具体为:
接收用户触发的压测任务请求;
响应所述压测任务请求,获取预存储的测试脚本;
调用预设的Jmeterapi接口执行所述测试脚本,以对预设的服务器进行性能测试;
在性能测试过程中,调用预设的监控组件对所述服务器进行监控,得到与所述服务器对应的性能数据;
基于所述性能数据生成相应的性能测试报告。
综上所述,本申请实施例中提供的性能测试方法、装置、计算机设备和存储介质,在接收到用户触发的压测任务请求后,通过调用预设的Jmeterapi接口执行预存储的测试脚本,即可实现对于相应服务器的自动化压测,并会在测试过程中利用监控组件对服务器进行监控,进而根据监控得到的性能数据来自动化生成相应的性能测试报告,有效地减少了测试人员的工作量,提高了对于服务器的性能测试过程的测试效率,提高了性能测试处理的智能性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种性能测试方法,其特征在于,包括:
接收用户触发的压测任务请求;
响应所述压测任务请求,获取预存储的测试脚本;
调用预设的Jmeterapi接口执行所述测试脚本,以对预设的服务器进行性能测试;
在性能测试过程中,调用预设的监控组件对所述服务器进行监控,得到与所述服务器对应的性能数据;
基于所述性能数据生成相应的性能测试报告。
2.根据权利要求1所述的性能测试方法,其特征在于,所述调用预设的Jmeterapi接口执行所述测试脚本,以对预设的服务器进行性能测试的步骤,包括:
生成与所述压测任务请求对应的定时任务;
获取当前时间;
判断当前时间是否达到与所述定时任务对应的时间条件;
若是,调用预设的Jmeterapi接口执行所述测试脚本,以对预设的服务器进行性能测试。
3.根据权利要求1所述的性能测试方法,其特征在于,所述调用预设的监控组件对所述服务器进行监控,得到与所述服务器对应的性能数据的步骤之后,包括:
获取预设的区块链中包含的多个存储区块的可用内存,以及获取所述性能数据的占用内存;
从所有所述存储区块中筛选出可用内存大于所述占用内存的第一存储区块;
获取各所述第一存储区块在预设时间周期内的数据存储次数、数据存储失败次数、存储内存使用量以及数据清理指数;
基于所述数据存储次数、数据存储失败次数、存储内存使用量以及数据清理指数,调用预设的计算公式计算出各所述第一存储区块的数据存储得分;
从所有所述数据存储得分中获取数值最大的目标数据存储得分;
从所述第一存储区块中获取与所述目标数据存储得分对应的第二存储区块;
将所述性能数据存储于所述第二存储区块内。
4.根据权利要求3所述的性能测试方法,其特征在于,所述获取各所述第一存储区块在预设时间周期内的数据存储次数、数据存储失败次数、存储内存使用量以及数据清理指数的步骤之前,包括:
获取指定存储区块在所述预设时间周期内的数据清理次数;其中,所述指定存储区块为所有所述第一存储区块中的任意一个存储区块;
获取所述指定存储区块在所述预设时间周期内每一次的清理内存数值,并从所有所述清理内存数值中筛选出数值大于预设的清理内存阈值的指定清理内存数值;
获取所述指定清理内存数值的数量;
获取与所述数据清理次数对应的第一权重,以及获取与所述指定清理内存数值的数量对应的第二权重;
基于所述第一权重与所述第二权重对所述数据清理次数与所述指定清理内存数值的数量进行运算处理,得到对应的运算结果值;
将所述运算结果值作为所述指定存储区块的数据清理指数。
5.根据权利要求1所述的性能测试方法,其特征在于,所述调用预设的监控组件对所述服务器进行监控,得到与所述服务器对应的性能数据的步骤之后,包括:
调用预设的可视化工具;
通过所述可视化工具将所述性能数据转换成相应的可视化图标数据;
在当前界面展示所述可视化图标数据。
6.根据权利要求1所述的性能测试方法,其特征在于,所述调用预设的监控组件对所述服务器进行监控,得到与所述服务器对应的性能数据的步骤之后,包括:
对所述性能数据进行异常分析,判断所述性能数据中是否存在异常数据;
若是,提取所述性能数据中的所述异常数据,并生成与所述异常数据对应的预警信息;
获取预设的邮件登录信息,以及获取与第一目标用户对应的目标邮件地址;
基于所述邮件登录信息登录至对应的邮件服务器;
通过所述邮件服务器将所述预警信息发送至所述目标邮件地址。
7.根据权利要求1所述的性能测试方法,其特征在于,所述基于所述性能数据生成相应的性能测试报告的步骤之后,包括:
获取第二目标用户的用户画像;
从所述用户画像中提取出所述第二目标用户对于各种信息接收渠道的偏好数值;
从所有所述信息接收渠道中筛选出偏好数值最大的目标信息接收渠道;
基于所述目标信息接收渠道将所述性能测试报告发送至所述第二目标用户。
8.一种性能测试装置,其特征在于,包括:
接收模块,用于接收用户触发的压测任务请求;
第一获取模块,用于响应所述压测任务请求,获取预存储的测试脚本;
测试模块,用于调用预设的Jmeterapi接口执行所述测试脚本,以对预设的服务器进行性能测试;
监控模块,用于在性能测试过程中,调用预设的监控组件对所述服务器进行监控,得到与所述服务器对应的性能数据;
第一生成模块,用于基于所述性能数据生成相应的性能测试报告。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210236276.4A CN114625621A (zh) | 2022-03-11 | 2022-03-11 | 性能测试方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210236276.4A CN114625621A (zh) | 2022-03-11 | 2022-03-11 | 性能测试方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114625621A true CN114625621A (zh) | 2022-06-14 |
Family
ID=81902083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210236276.4A Pending CN114625621A (zh) | 2022-03-11 | 2022-03-11 | 性能测试方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114625621A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116483718A (zh) * | 2023-04-25 | 2023-07-25 | 无锡市软测认证有限公司 | 一种利用大数据实现大规模压力测试系统及方法 |
-
2022
- 2022-03-11 CN CN202210236276.4A patent/CN114625621A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116483718A (zh) * | 2023-04-25 | 2023-07-25 | 无锡市软测认证有限公司 | 一种利用大数据实现大规模压力测试系统及方法 |
CN116483718B (zh) * | 2023-04-25 | 2023-11-14 | 无锡市软测认证有限公司 | 一种利用大数据实现大规模压力测试系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Balci | How to assess the acceptability and credibility of simulation results | |
CN113516297A (zh) | 基于决策树模型的预测方法、装置和计算机设备 | |
Balci | Guidelines for successful simulation studies | |
Li et al. | Architectural technical debt identification based on architecture decisions and change scenarios | |
CN114218097A (zh) | 测试用例生成方法、装置、计算机设备和存储介质 | |
CN106934507A (zh) | 一种针对油田石化领域的新型巡检系统和方法 | |
CN112329865A (zh) | 基于自编码器的数据异常识别方法、装置和计算机设备 | |
CN104615928B (zh) | 计量检定方法、检定系统及服务器 | |
CN111737963A (zh) | 基于配置文件的表单填写方法、装置和计算机设备 | |
CN111652406A (zh) | 云-边协同下电网设备运行状态预测方法及系统 | |
CN103793856A (zh) | 一种基于多数据源的电网设备状态评价系统及其方法 | |
CN113642039A (zh) | 单证模板的配置方法、装置、计算机设备和存储介质 | |
CN109272215A (zh) | 项目开发质量监控方法、装置、计算机设备及存储介质 | |
CN114625621A (zh) | 性能测试方法、装置、计算机设备和存储介质 | |
Monschein et al. | Enabling consistency between software artefacts for software adaption and evolution | |
CN113918526A (zh) | 日志处理方法、装置、计算机设备和存储介质 | |
CN111930621A (zh) | Dns自动化性能测试方法、装置、设备及可读存储介质 | |
CN114817055A (zh) | 基于接口的回归测试方法、装置、计算机设备和存储介质 | |
CN113626285A (zh) | 基于模型的作业监控方法、装置、计算机设备和存储介质 | |
CN114978968A (zh) | 微服务的异常检测方法、装置、计算机设备和存储介质 | |
CN114237886A (zh) | 任务处理方法、装置、计算机设备和存储介质 | |
CN113051181A (zh) | 确定增量测试覆盖信息的方法、装置、设备和存储介质 | |
CN113077185B (zh) | 工作量评估方法、装置、计算机设备和存储介质 | |
US20220004673A1 (en) | Building performance assessment system and method | |
CN114547053A (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 |