CN114924942A - 系统压力测试方法及装置 - Google Patents
系统压力测试方法及装置 Download PDFInfo
- Publication number
- CN114924942A CN114924942A CN202210594699.3A CN202210594699A CN114924942A CN 114924942 A CN114924942 A CN 114924942A CN 202210594699 A CN202210594699 A CN 202210594699A CN 114924942 A CN114924942 A CN 114924942A
- Authority
- CN
- China
- Prior art keywords
- pressure test
- slave node
- tested
- slave
- pressure
- 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/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Testing Of Devices, Machine Parts, Or Other Structures Thereof (AREA)
Abstract
本发明公开了一种系统压力测试方法及装置,可用于金融领域或其他领域,该方法包括:获取待测系统所提供的从节点的接口信息、和待测系统的系统配置信息;获取待测系统的压力测试需求;根据从节点的接口信息、待测系统的系统配置信息、和待测系统的压力测试需求,生成对应从节点的压力测试需求;向每一从节点下发对应从节点的压力测试需求,并接收每一从节点反馈的从节点压力测试结果;所述从节点用于根据对应从节点的压力测试需求,进行压力测试,得到从节点压力测试结果;根据从节点数量,对全部从节点反馈的压力测试结果,进行汇总,得到待测系统的压力测试结果。本发明可提升系统压力测试的效率,保证系统压力测试的安全性,降低实施门槛。
Description
技术领域
本发明可用于金融领域或其他领域,尤其涉及系统压力测试方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
当前企业系统的应用系统的极限性能承载能力难以得到有效的量化评估。
一方面,系统应用的性能测试往往基于测试环境展开,而测试环境和线上生产环境在物理机器和部署方式都有较大的差异。线下目前普遍采用的性能测试方法均为单节点的压力源,很难提供接近或者超过当前线上大流量的规模,并发、量级程度达不到要求。
另一方面,想要准确得到生产系统的性能承载极值,直接在生产环境进行压测是最有效的,但这样直接的方式影响极大,风险不可控,有极大地数据安全问题和操作难度,一旦出现异常情况,恢复服务需要的时间极长,产生的经济损失也不可估量。
因此,我们需要一种在线下能够提供可控、足够大压力,接入成本低并且产出一套完备的测试结果的压力测试平台。
发明内容
本发明实施例提供一种系统压力测试方法,用以提升系统压力测试的效率,保证系统压力测试的安全性,降低压力测试的实施门槛,该方法包括:
获取待测系统所提供的从节点的接口信息、和待测系统的系统配置信息;所述从节点之间以分布式排列,用于实现预设比例的待测系统的算力;所述预设比例与从节点的数量相关联;
获取待测系统的压力测试需求;
根据从节点的接口信息、待测系统的系统配置信息、和待测系统的压力测试需求,生成对应从节点的压力测试需求;
向每一从节点下发所述对应从节点的压力测试需求,并接收每一从节点反馈的从节点压力测试结果;所述从节点用于根据对应从节点的压力测试需求,进行压力测试,得到从节点压力测试结果;
根据从节点数量,对全部从节点反馈的压力测试结果,进行汇总,得到待测系统的压力测试结果
本发明实施例还提供一种系统压力测试装置,用以提升系统压力测试的效率,保证系统压力测试的安全性,降低压力测试的实施门槛,该装置包括:
信息获取模块,用于获取待测系统所提供的从节点的接口信息、和待测系统的系统配置信息;所述从节点之间以分布式排列,用于实现预设比例的待测系统的算力;所述预设比例与从节点的数量相关联;
压力测试需求获取模块,用于获取待测系统的压力测试需求;
从节点的压力测试需求生成模块,用于根据从节点的接口信息、待测系统的系统配置信息、和待测系统的压力测试需求,生成对应从节点的压力测试需求;
从节点压力测试结果接收模块,用于向每一从节点下发所述对应从节点的压力测试需求,并接收每一从节点反馈的从节点压力测试结果;所述从节点用于根据对应从节点的压力测试需求,进行压力测试,得到从节点压力测试结果;
压力测试结果确定模块,用于根据从节点数量,对全部从节点反馈的压力测试结果,进行汇总,得到待测系统的压力测试结果。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述系统压力测试方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述系统压力测试方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述系统压力测试方法。
本发明实施例中,获取待测系统所提供的从节点的接口信息、和待测系统的系统配置信息;所述从节点之间以分布式排列,用于实现预设比例的待测系统的算力;所述预设比例与从节点的数量相关联;获取待测系统的压力测试需求;根据从节点的接口信息、待测系统的系统配置信息、和待测系统的压力测试需求,生成对应从节点的压力测试需求;向每一从节点下发所述对应从节点的压力测试需求,并接收每一从节点反馈的从节点压力测试结果;所述从节点用于根据对应从节点的压力测试需求,进行压力测试,得到从节点压力测试结果;根据从节点数量,对全部从节点反馈的压力测试结果,进行汇总,得到待测系统的压力测试结果,与现有技术中使用单节点压力源和在生成环境进行压测的技术方案相比,通过对从节点进行压力测试,代替直接对待测系统进行直接测试,避免了现有技术下对待测系统进行性能压力输出容易出现异常造成经济损失的问题,也避免了现有技术下因单节点压力源压测方案的实施困难问题,保证了系统压力测试的安全性,实施门槛低,实施便利,也提升了系统压力测试的效率;同时,以分布式技术,使得分布式排列的从节点具备可重复、高并发、随机变化的特点,使得从节点可动态扩容,可应对规模较大的测试系统,也保证了系统压力测试的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中一种系统压力测试方法的流程示意图;
图2为本发明实施例中一种系统压力测试方法的具体示例图;
图3为本发明实施例中一种系统压力测试装置的结构示例图;
图4为本发明实施例中一种系统压力测试装置的具体示例图;
图5为本发明实施例中提供的一种计算机设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本申请的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
本发明实施例涉及下列名词,如下进行解释:
压力测试是通过不断地向被测系统施加“压力”,测试系统在压力情况下的性能表现,考察当前软硬件环境下系统所能承受的最大负荷并帮助找出系统瓶颈所在,也就是模拟“巨大”的工作负荷以查看应用程序在峰值使用情况下如何执行操作以及执行操作是否出现异常状况。
Web服务处于分布式计算的核心位置,他们之间的交互通常很难测试。分布式开发、大型的开发者团队以及对代码日益组件化的期望都有可能使Web服务的开发变得越来越容易隐藏错误。这些类型的错误极难检测出来。压力测试是检测这类代码错误的一种有效方法,但是只有在压力系统设计的比较有效的情况下才能发挥作用。
压力测试考察当前软硬件环境下系统所能承受的最大负荷并帮助找出系统瓶颈所在。压测都是为了系统在线上的处理能力和稳定性维持在一个标准范围内,做到心中有数。使用压力测试,使得项目组成员找到很多种用其他测试方法更难发现的错误。主要的两种错误类型是:内存泄漏,并发与同步问题。
但现有技术下进行对被测系统进行压力测试,主要存在如下问题:
(1).接入成本高:针对被测系统,需自行完成一套完整的性能测试方案搭建、维护成本都较高。而我们期望被测系统仅仅提供一些很小的资源便能拥有很大的能量。针对压力测试服务提供方,我们又不希望为了满足行内不通规模的应用系统,建造一个集中的、超大规模的系统环境专门用来进行性能测试,会带来很大的建设成本和资源利用成本;
(2).性能量级达不到要求:现有的单机场景性能测试,多采用jmeter或者其他测试工具,要么触发机为测试人员本机windows环境或者单节点服务器,会导致压力、并发突破不了本机的硬件限制,导致该方法的性能测试为伪性能验证;
(3).性能测试无法做到自动化:性能测试不是一次性的,其伴随着企业内部的被测系统整个生命周期的,在每个批次、每个迭代都会涉及到,因此需要能将性能压力测试做到自动化,将性能压力动作持久化下来,无需人为的进行重复性动作。
因此,当前企业系统的应用系统的极限性能承载能力难以得到有效的量化评估。
综上,一方面,系统(如银行企业)应用的性能测试往往基于测试环境展开,而测试环境和线上生产环境在物理机器和部署方式都有较大的差异。线下目前普遍采用的性能测试方法均为单节点的压力源,很难提供接近或者超过当前线上大流量的规模,并发、量级程度达不到要求;另一方面,想要准确得到生产系统的性能承载极值,直接在生产环境进行压测是最有效的,但这样直接的方式影响极大,风险不可控,有极大地数据安全问题和操作难度,一旦出现异常情况,恢复服务需要的时间极长,产生的经济损失也不可估量。
为了解决上述问题,本发明实施例提供了一种系统压力测试方法,可用于开发一种在线下能够提供可控、足够大压力,接入成本低并且产出一套完备的测试结果的压力测试平台,旨在提供可重复、高并发、随机变化等特点,为被测系统提供一套完整的压力测试方案和结果测试报告,使得被测系统的性能指标和容量指标更具精准性,接入更具便利性,进而提高测试效率和完备性。
本发明实施例提供的一种系统压力测试方法,参见图1,该方法可以包括:
步骤101:获取待测系统所提供的从节点的接口信息、和待测系统的系统配置信息;上述从节点之间以分布式排列,用于实现预设比例的待测系统的算力;上述预设比例与从节点的数量相关联;
步骤102:获取待测系统的压力测试需求;
步骤103:根据从节点的接口信息、待测系统的系统配置信息、和待测系统的压力测试需求,生成对应从节点的压力测试需求;
步骤104:向每一从节点下发上述对应从节点的压力测试需求,并接收每一从节点反馈的从节点压力测试结果;上述从节点用于根据对应从节点的压力测试需求,进行压力测试,得到从节点压力测试结果;
步骤105:根据从节点数量,对全部从节点反馈的压力测试结果,进行汇总,得到待测系统的压力测试结果。
本发明实施例中,获取待测系统所提供的从节点的接口信息、和待测系统的系统配置信息;上述从节点之间以分布式排列,用于实现预设比例的待测系统的算力;上述预设比例与从节点的数量相关联;获取待测系统的压力测试需求;根据从节点的接口信息、待测系统的系统配置信息、和待测系统的压力测试需求,生成对应从节点的压力测试需求;向每一从节点下发上述对应从节点的压力测试需求,并接收每一从节点反馈的从节点压力测试结果;上述从节点用于根据对应从节点的压力测试需求,进行压力测试,得到从节点压力测试结果;根据从节点数量,对全部从节点反馈的压力测试结果,进行汇总,得到待测系统的压力测试结果,与现有技术中使用单节点压力源和在生成环境进行压测的技术方案相比,通过对从节点进行压力测试,代替直接对待测系统进行直接测试,避免了现有技术下对待测系统进行性能压力输出容易出现异常造成经济损失的问题,也避免了现有技术下因单节点压力源压测方案的实施困难问题,保证了系统压力测试的安全性,实施门槛低,实施便利,也提升了系统压力测试的效率;同时,以分布式技术,使得分布式排列的从节点具备可重复、高并发、随机变化的特点,使得从节点可动态扩容,可应对规模较大的测试系统,也保证了系统压力测试的安全性。
具体实施时,首先获取待测系统所提供的从节点的接口信息、和待测系统的系统配置信息;上述从节点之间以分布式排列,用于实现预设比例的待测系统的算力;上述预设比例与从节点的数量相关联。
举一例,如待测系统为网银系统,该网银系统提交了针对如T1功能测试环境的压力测试请求,因此,获取待测系统所提供的从节点的接口信息可以为:用于进行网银系统性能测试的接口信息,用于说明待测试的待测系统所提供的从节点的接口信息。
例如:待测系统所提供的从节点的接口信息,可获取如表1所示代码:
表1
在这一实例中,在对网银系统的从节点进行压力测试时,可依据上述的进行网银系统性能测试的接口信息,进行压力测试的系统须按照上述接口信息来进行发送,否则不一定能测试到想要测试的模块代码的处理能力。
在上述实施例中,此处分布式从节点为动态的,可添加可删除,由调度控制系统进行间隔时间探活。采用分布式,目的在于可进行大规模的非集中式的性能测试。避免某些被测系统有单点防攻击策略。
具体实施时,在获取待测系统所提供的从节点的接口信息、和待测系统的系统配置信息后,获取待测系统的压力测试需求。
实施例中,上述待测系统的压力测试需求包括待测系统的:压力测试类型、压力测试并发度、压力测试时刻、压力测试时长和压力测试内容的其中之一或任意组合。
举一实例,如待测系统为网银系统;首先,提交了针对如T1功能测试环境的压力测试请求,则需要验证所示网银系统在一个小时内,承载10wTPS的访问数据,该系统是否能够保持稳定。其中,T1对外为1.1.1.1的ip负载。那么对上述网银系统进行压力测试,其目的在于,以上述压力测试方法,针对1.1.1.1这个机器的数据性能监控。实例中,监控项可以包括:cpu、内存、IO、网络吞吐、带宽、进程响应速率、首包响应时间等。监控项监控维度需要进行代码定制。
举一实例,可通过预先配置的接入和配置界面,来获取待测系统的压力测试需求,便于接入系统的用户操作和配置输入。
具体实施时,在获取待测系统的压力测试需求后,根据从节点的接口信息、待测系统的系统配置信息、和待测系统的压力测试需求,生成对应从节点的压力测试需求。
实施例中,根据从节点的接口信息、待测系统的系统配置信息、和待测系统的压力测试需求,生成对应从节点的压力测试需求,可以包括:
对待测系统的系统配置信息,进行配置解析,得到解析结果;
结合从节点数量,根据从节点的接口信息、解析结果、和待测系统的压力测试需求,生成对应从节点的压力测试需求。
举一进行配置解析的实例,如中心控制节点需要知道几个信息,该信息缓存与conf配置文件中,可动态修改:从节点的IP地址;通过IP进行探活动作,进行从节点资源占用监听等操作;
另举一生成对应从节点的压力测试需求的实例:
如“调度控制模块”会维护一个slave集群的状态表,此表记录集群内所有从节点信息,包含对应节点是down(不可提供服务)还是up(可提供服务)状态;
“调度控制模块”会根据发起方要求的压力性能数据大小和Slave集群可提供服务的从节点,动态下发指令;
例:性能发起方,要求做一个1000TPS的压力请求10分钟。如果slave集群中1000个从节点都是UP状态,那么调度模块可能会选择下发1000个从节点,每个从节点1个TPS的量。从节点按照统一时间标准向测试机发起压力请求;如果slave集群中当前只有10个从节点是UP状态,那么同理,调度模块会选择下发10个从节点,每个从节点100TPS的量;
于此同时,调度模块会记录当前所有从节点当前的使用率,如果100台,有9台从节点资源占用率过高,调度模块则不会选择这9台从节点。
在一个实施例中,还可以包括:对从节点的接口信息、解析结果、待测系统的压力测试需求、对应从节点的压力测试需求,进行存储;生成存储文档;上述存储文档,用于在再次进行该待测系统的压力测试时,输出信息。
在一个实施例中,通过生成存储文件,可辅助管理人员对上述过程进行随时地调取阅读,有助于管理人员发现上述过程中的漏洞和弊端;同时,工作人员也可通过对记录文件进行调取阅读,实现对上述过程中的数据进行追溯,有助于验证数据的真实性的准确性,提升了上述过程的准确度;同时,通过生成记录文档,有助于在再次进行该待测系统的压力测试时,直接输出信息,不再需要重新进行上述内容的处理。
在上述实施例中,通过生成存储文件,可实现数据库功能和存储功能:对配置、指令进行持久化,便于进行自动化和定制任务执行。
具体实施时,在根据从节点的接口信息、待测系统的系统配置信息、和待测系统的压力测试需求,生成对应从节点的压力测试需求后,向每一从节点下发上述对应从节点的压力测试需求,并接收每一从节点反馈的从节点压力测试结果;上述从节点用于根据对应从节点的压力测试需求,进行压力测试,得到从节点压力测试结果。
在上述实施例中,从节点在接收到对应从节点的压力测试需求后,可进行性能测试的一次执行,执行指令和配置信息需在从节点能够运行,从节点通过解析执行指令和配置信息,进行实现被测系统的压力测试。
实施例中,还可以包括:
根据从节点的接口信息,对每一从节点进行实时探活监听处理,确定每一从节点是否可进行压力测试;
向每一从节点下发上述对应从节点的压力测试需求,并接收每一从节点反馈的从节点压力测试结果,可以包括:
在确定每一从节点可进行压力测试时,向每一从节点下发上述对应从节点的压力测试需求,并接收每一从节点反馈的从节点压力测试结果。
在上述实施例中,上述方法可用于开发一种执行上述方法的压力测试平台;通过对每一从节点进行实时探活监听处理,可实现对压力资源池的维护,使得所有接入压力平台的被测系统需提供“门票”,中心节点需进行该资源池的维护,探活,调度等内容。目标是保证每次任务下发到从节点均能够被正常执行,减少执行从节点的错误率,提供失败上报,及时清理和通知管理员资源池的状态。
具体实施时,在向每一从节点下发上述对应从节点的压力测试需求,并接收每一从节点反馈的从节点压力测试结果后,根据从节点数量,对全部从节点反馈的压力测试结果,进行汇总,得到待测系统的压力测试结果。
实施例中,接收每一从节点反馈的从节点压力测试结果,可以包括:
监控从节点进行压力测试的进度;在进度表示压力测试结束时,接收每一从节点反馈的从节点压力测试结果;
根据从节点数量,对全部从节点反馈的压力测试结果,进行汇总,得到待测系统的压力测试结果,可以包括:
根据从节点数量,对全部从节点反馈的压力测试结果,进行待测系统的压力性能指标的异步汇总,得到待测系统的压力测试结果。
在一个实施例中,可通过预设置的中心控制节点,执行对全部从节点反馈的压力测试结果,进行汇总,得到待测系统的压力测试结果的步骤,并提供被测系统测试覆盖量化指标数据图表等展示。
在一个实施例中,本发明实施例提供的一种系统压力测试方法,还可以包括:对从节点反馈的压力测试结果、和待测系统的压力测试结果,以表格和性能图的展示方式,进行展示。
具体实施时,本发明实施例提供的一种系统压力测试方法,还可以包括:根据待测系统的压力测试需求,对待测系统的压力测试结果进行分析,得到分析报告。
下面给出一个具体实施例,来说明本发明的方法的具体应用,该实施例中,上述方法可用于开发一种执行上述方法的压力测试平台,该压力测试平台具体可执行如下步骤:
步骤1:各被测系统的管理员,首先可将待测系统的所需极致压力指数和被测系统的配置信息,通过压力平台提供的接入界面进行输入,进行实时触发或者定时触发压力测试功能,首次接入需提供门票,交付压力平台资源池,供压力平台调度;
步骤2:将压力指数和配置信息进行入库持久化,便于后续自动化和定时调度;中心控制节点解析用户输入后,结合资源池当前状况,进行配置下发,并监听其响应结果;
步骤3:从节点接收到中心控制节点的压力配置指令,进行指令解析,完成压力指令执行,并监听其响应结果后,完成结果上送;
步骤4:统计模块进行实时计算统计,当从节点完成测试后,统计系统开始进行测试结果汇总,并将结果持久化入库;
步骤5:数据展示模块进行对被测系统周期内的日志统计结果进行数据与图表展示。
在该实例中,通过步骤1,使得压力测试平台可一次部署,资源池随着接入系统不断扩大,可进行一次性部署,实现了动态扩容。
在该实例中,如图2所示,上述压力测试平台可以包括:
一、压力测试平台接入/配置界面:
A:配置接入模块:用于提供接入配置界面,方便用户针对必要参数进行基本配置,如获取待测系统所提供的从节点的接口信息、和待测系统的系统配置信息;获取待测系统的压力测试需求;
B:结果展示模块:用于包含整体的横向、纵向性能指标图、问题概览分析和详情分析等;
二、中心控制节点:
A:接入/存储模块:用于对接入的被测系统的系统配置信息进行配置解析,同时持久化所有被测系统接入信息,便于后期自动化直接调度;
B:调度模块:用于维护压力测试资源池。对所有从节点进行实时探活监听,维护可用从节点全量表,在收到压力测试请求时,针对压力测试规模和可用从节点规模,进行合理的请求指令调度;
举一“请求指令调度”的实例,如:
“调度控制模块”向从节点发送的指令,压力请求最终是由从节点来发起的,所以得由调度模块告诉从节点一些性能发送数据信息;
下发指令,json报文格式,指定下发给哪几个从节点的IP,每一个从节点的数据发送大小,压力起始时间点和持续时间等;{Target_ip:{};Target_level{};start_time:;}类似
C:统计模块:用于收集被测系统上送的日志信息,当测试终止后进行被测系统的压力性能指标统计;
三、触发从节点的接口
A:性能触发直接发起方:用于接收中心控制节点的配置信息和控制信息,对被测系统进行直接的性能触发;
B:性能结果上送:用于对被测系统完成触发后,将结果数据按规定格式上送回传至中心控制节点,完成“一次”性能测试。
上述实例基于各接入被测系统提供的“肉机”(从节点),通过中心控制节点,采用分布式技术,对一次性能测试对象进行分布式性能压力输出,并将各从节点的响应结果异步汇总于中心控制节点,完成性能量化评估,产出最终性能测试报告。
当然,可以理解的是,上述详细流程还可以有其他变化例,相关变化例均应落入本发明的保护范围。
本发明实施例中,获取待测系统所提供的从节点的接口信息、和待测系统的系统配置信息;上述从节点之间以分布式排列,用于实现预设比例的待测系统的算力;上述预设比例与从节点的数量相关联;获取待测系统的压力测试需求;根据从节点的接口信息、待测系统的系统配置信息、和待测系统的压力测试需求,生成对应从节点的压力测试需求;向每一从节点下发上述对应从节点的压力测试需求,并接收每一从节点反馈的从节点压力测试结果;上述从节点用于根据对应从节点的压力测试需求,进行压力测试,得到从节点压力测试结果;根据从节点数量,对全部从节点反馈的压力测试结果,进行汇总,得到待测系统的压力测试结果,与现有技术中使用单节点压力源和在生成环境进行压测的技术方案相比,通过对从节点进行压力测试,代替直接对待测系统进行直接测试,避免了现有技术下对待测系统进行性能压力输出容易出现异常造成经济损失的问题,也避免了现有技术下因单节点压力源压测方案的实施困难问题,保证了系统压力测试的安全性,实施门槛低,实施便利,也提升了系统压力测试的效率;同时,以分布式技术,使得分布式排列的从节点具备可重复、高并发、随机变化的特点,使得从节点可动态扩容,可应对规模较大的测试系统,也保证了系统压力测试的安全性。
如上述,待测系统在使用压力测试平台前,需提供自身功能环境“从节点”机器即提供压测入场券,个数不限。所提供的机器不为该系统压力指标基准,被测系统可享有整个压力测试集群所有从节点算力。这样就减少了被测系统的入门门槛;通过在压力测试平台界面中,提交被测系统的一系列压力测试指标配置,便可立即触发和设定定时任务,对自身被测系统进行压力测试实施;而系统内部以分布式部署接入从节点,通过中心节点的调度、控制与计算,通过从节点的执行与回调,完成一次完成的压力测试过程,最终产出压力测试报告。
因此,本发明实施例提供了一种低成本、高并发、分布式、自动化、且可动态扩容的压力测试平台,通过控制中心对一次性能测试对象进行分布式性能压力输出,并将各从节点的响应结果异步汇总于中心控制节点,完成性能量化评估,产出最终性能测试报告,为被测系统提供一套完整的压力测试方案和结果测试报告,使得被测系统的性能指标和容量指标更具精准性,接入更具便利性,进而提高测试效率和完备性。
本发明实施例中还提供了一种系统压力测试装置,如下面的实施例上述。由于该装置解决问题的原理与系统压力测试方法相似,因此该装置的实施可以参见系统压力测试方法的实施,重复之处不再赘述。
本发明实施例还提供一种系统压力测试装置,用以提升系统压力测试的效率,保证系统压力测试的安全性,降低压力测试的实施门槛,如图3所示,该装置包括:
信息获取模块301,用于获取待测系统所提供的从节点的接口信息、和待测系统的系统配置信息;上述从节点之间以分布式排列,用于实现预设比例的待测系统的算力;上述预设比例与从节点的数量相关联;
压力测试需求获取模块302,用于获取待测系统的压力测试需求;
从节点的压力测试需求生成模块303,用于根据从节点的接口信息、待测系统的系统配置信息、和待测系统的压力测试需求,生成对应从节点的压力测试需求;
从节点压力测试结果接收模块304,用于向每一从节点下发上述对应从节点的压力测试需求,并接收每一从节点反馈的从节点压力测试结果;上述从节点用于根据对应从节点的压力测试需求,进行压力测试,得到从节点压力测试结果;
压力测试结果确定模块305,用于根据从节点数量,对全部从节点反馈的压力测试结果,进行汇总,得到待测系统的压力测试结果。
在一个实施例中,上述待测系统的压力测试需求包括待测系统的:压力测试类型、压力测试并发度、压力测试时刻、压力测试时长和压力测试内容的其中之一或任意组合。
在一个实施例中,还可以包括:
数据展示模块,用于:
对从节点反馈的压力测试结果、和待测系统的压力测试结果,以表格和性能图的展示方式,进行展示。
在一个实施例中,还可以包括:
数据分析模块,用于:
根据待测系统的压力测试需求,对待测系统的压力测试结果进行分析,得到分析报告。
在一个实施例中,从节点的压力测试需求生成模块,具体用于:
对待测系统的系统配置信息,进行配置解析,得到解析结果;
结合从节点数量,根据从节点的接口信息、解析结果、和待测系统的压力测试需求,生成对应从节点的压力测试需求。
在一个实施例中,还可以包括:
数据存储模块,用于:
对从节点的接口信息、解析结果、待测系统的压力测试需求、对应从节点的压力测试需求,进行存储;生成存储文档;上述存储文档,用于在再次进行该待测系统的压力测试时,输出信息。
在一个实施例中,如图4所示,还可以包括:
从节点监控模块306,用于:
根据从节点的接口信息,对每一从节点进行实时探活监听处理,确定每一从节点是否可进行压力测试;
向每一从节点下发上述对应从节点的压力测试需求,并接收每一从节点反馈的从节点压力测试结果,可以包括:
在确定每一从节点可进行压力测试时,向每一从节点下发上述对应从节点的压力测试需求,并接收每一从节点反馈的从节点压力测试结果。
在一个实施例中,从节点压力测试结果接收模块,具体用于:
监控从节点进行压力测试的进度;在进度表示压力测试结束时,接收每一从节点反馈的从节点压力测试结果;
压力测试结果确定模块,具体用于:
根据从节点数量,对全部从节点反馈的压力测试结果,进行待测系统的压力性能指标的异步汇总,得到待测系统的压力测试结果。
基于上述发明构思,如图5所示,本发明还提出了一种计算机设备500,包括存储器510、处理器520及存储在存储器510上并可在处理器520上运行的计算机程序530,所述处理器520执行所述计算机程序530时实现上述系统压力测试方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述系统压力测试方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述系统压力测试方法。
本发明实施例中,获取待测系统所提供的从节点的接口信息、和待测系统的系统配置信息;所述从节点之间以分布式排列,用于实现预设比例的待测系统的算力;所述预设比例与从节点的数量相关联;获取待测系统的压力测试需求;根据从节点的接口信息、待测系统的系统配置信息、和待测系统的压力测试需求,生成对应从节点的压力测试需求;向每一从节点下发所述对应从节点的压力测试需求,并接收每一从节点反馈的从节点压力测试结果;所述从节点用于根据对应从节点的压力测试需求,进行压力测试,得到从节点压力测试结果;根据从节点数量,对全部从节点反馈的压力测试结果,进行汇总,得到待测系统的压力测试结果,与现有技术中使用单节点压力源和在生成环境进行压测的技术方案相比,通过对从节点进行压力测试,代替直接对待测系统进行直接测试,避免了现有技术下对待测系统进行性能压力输出容易出现异常造成经济损失的问题,也避免了现有技术下因单节点压力源压测方案的实施困难问题,保证了系统压力测试的安全性,实施门槛低,实施便利,也提升了系统压力测试的效率;同时,以分布式技术,使得分布式排列的从节点具备可重复、高并发、随机变化的特点,使得从节点可动态扩容,可应对规模较大的测试系统,也保证了系统压力测试的安全性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (19)
1.一种系统压力测试方法,其特征在于,包括:
获取待测系统所提供的从节点的接口信息、和待测系统的系统配置信息;所述从节点之间以分布式排列,用于实现预设比例的待测系统的算力;所述预设比例与从节点的数量相关联;
获取待测系统的压力测试需求;
根据从节点的接口信息、待测系统的系统配置信息、和待测系统的压力测试需求,生成对应从节点的压力测试需求;
向每一从节点下发所述对应从节点的压力测试需求,并接收每一从节点反馈的从节点压力测试结果;所述从节点用于根据对应从节点的压力测试需求,进行压力测试,得到从节点压力测试结果;
根据从节点数量,对全部从节点反馈的压力测试结果,进行汇总,得到待测系统的压力测试结果。
2.如权利要求1所述的方法,其特征在于,所述待测系统的压力测试需求包括待测系统的:压力测试类型、压力测试并发度、压力测试时刻、压力测试时长和压力测试内容的其中之一或任意组合。
3.如权利要求1所述的方法,其特征在于,还包括:
对从节点反馈的压力测试结果、和待测系统的压力测试结果,以表格和性能图的展示方式,进行展示。
4.如权利要求1所述的方法,其特征在于,还包括:
根据待测系统的压力测试需求,对待测系统的压力测试结果进行分析,得到分析报告。
5.如权利要求1所述的方法,其特征在于,根据从节点的接口信息、待测系统的系统配置信息、和待测系统的压力测试需求,生成对应从节点的压力测试需求,包括:
对待测系统的系统配置信息,进行配置解析,得到解析结果;
结合从节点数量,根据从节点的接口信息、解析结果、和待测系统的压力测试需求,生成对应从节点的压力测试需求。
6.如权利要求5所述的方法,其特征在于,还包括:
对从节点的接口信息、解析结果、待测系统的压力测试需求、对应从节点的压力测试需求,进行存储;生成存储文档;所述存储文档,用于在再次进行该待测系统的压力测试时,输出信息。
7.如权利要求1所述的方法,其特征在于,还包括:
根据从节点的接口信息,对每一从节点进行实时探活监听处理,确定每一从节点是否可进行压力测试;
向每一从节点下发所述对应从节点的压力测试需求,并接收每一从节点反馈的从节点压力测试结果,包括:
在确定每一从节点可进行压力测试时,向每一从节点下发所述对应从节点的压力测试需求,并接收每一从节点反馈的从节点压力测试结果。
8.如权利要求1所述的方法,其特征在于,
接收每一从节点反馈的从节点压力测试结果,包括:
监控从节点进行压力测试的进度;在进度表示压力测试结束时,接收每一从节点反馈的从节点压力测试结果;
根据从节点数量,对全部从节点反馈的压力测试结果,进行汇总,得到待测系统的压力测试结果,包括:
根据从节点数量,对全部从节点反馈的压力测试结果,进行待测系统的压力性能指标的异步汇总,得到待测系统的压力测试结果。
9.一种系统压力测试装置,其特征在于,包括:
信息获取模块,用于获取待测系统所提供的从节点的接口信息、和待测系统的系统配置信息;所述从节点之间以分布式排列,用于实现预设比例的待测系统的算力;所述预设比例与从节点的数量相关联;
压力测试需求获取模块,用于获取待测系统的压力测试需求;
从节点的压力测试需求生成模块,用于根据从节点的接口信息、待测系统的系统配置信息、和待测系统的压力测试需求,生成对应从节点的压力测试需求;
从节点压力测试结果接收模块,用于向每一从节点下发所述对应从节点的压力测试需求,并接收每一从节点反馈的从节点压力测试结果;所述从节点用于根据对应从节点的压力测试需求,进行压力测试,得到从节点压力测试结果;
压力测试结果确定模块,用于根据从节点数量,对全部从节点反馈的压力测试结果,进行汇总,得到待测系统的压力测试结果。
10.如权利要求9所述的装置,其特征在于,所述待测系统的压力测试需求包括待测系统的:压力测试类型、压力测试并发度、压力测试时刻、压力测试时长和压力测试内容的其中之一或任意组合。
11.如权利要求9所述的装置,其特征在于,还包括:
数据展示模块,用于:
对从节点反馈的压力测试结果、和待测系统的压力测试结果,以表格和性能图的展示方式,进行展示。
12.如权利要求9所述的装置,其特征在于,还包括:
数据分析模块,用于:
根据待测系统的压力测试需求,对待测系统的压力测试结果进行分析,得到分析报告。
13.如权利要求9所述的装置,其特征在于,从节点的压力测试需求生成模块,具体用于:
对待测系统的系统配置信息,进行配置解析,得到解析结果;
结合从节点数量,根据从节点的接口信息、解析结果、和待测系统的压力测试需求,生成对应从节点的压力测试需求。
14.如权利要求13所述的装置,其特征在于,还包括:
数据存储模块,用于:
对从节点的接口信息、解析结果、待测系统的压力测试需求、对应从节点的压力测试需求,进行存储;生成存储文档;所述存储文档,用于在再次进行该待测系统的压力测试时,输出信息。
15.如权利要求9所述的装置,其特征在于,还包括:
从节点监控模块,用于:
根据从节点的接口信息,对每一从节点进行实时探活监听处理,确定每一从节点是否可进行压力测试;
向每一从节点下发所述对应从节点的压力测试需求,并接收每一从节点反馈的从节点压力测试结果,包括:
在确定每一从节点可进行压力测试时,向每一从节点下发所述对应从节点的压力测试需求,并接收每一从节点反馈的从节点压力测试结果。
16.如权利要求9所述的装置,其特征在于,
从节点压力测试结果接收模块,具体用于:
监控从节点进行压力测试的进度;在进度表示压力测试结束时,接收每一从节点反馈的从节点压力测试结果;
压力测试结果确定模块,具体用于:
根据从节点数量,对全部从节点反馈的压力测试结果,进行待测系统的压力性能指标的异步汇总,得到待测系统的压力测试结果。
17.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8任一所述方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至8任一所述方法。
19.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至8任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210594699.3A CN114924942A (zh) | 2022-05-27 | 2022-05-27 | 系统压力测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210594699.3A CN114924942A (zh) | 2022-05-27 | 2022-05-27 | 系统压力测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114924942A true CN114924942A (zh) | 2022-08-19 |
Family
ID=82811166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210594699.3A Pending CN114924942A (zh) | 2022-05-27 | 2022-05-27 | 系统压力测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114924942A (zh) |
-
2022
- 2022-05-27 CN CN202210594699.3A patent/CN114924942A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10116534B2 (en) | Systems and methods for WebSphere MQ performance metrics analysis | |
Wang et al. | Research on performance automation testing technology based on JMeter | |
CN111124850A (zh) | Mqtt服务器性能测试方法、系统、计算机设备及存储介质 | |
CN110750458A (zh) | 大数据平台测试方法、装置、可读存储介质及电子设备 | |
CN111143286B (zh) | 一种云平台日志管理方法及系统 | |
CN111563014A (zh) | 接口服务性能测试方法、装置、设备和存储介质 | |
CN111930365B (zh) | 基于Qt的应用程序快速开发框架、开发方法及运行方法 | |
CN111045911B (zh) | 性能测试方法、性能测试装置、存储介质与电子设备 | |
Liu | Research of performance test technology for big data applications | |
CN113127356A (zh) | 压测方法、装置、电子设备及存储介质 | |
CN112650676A (zh) | 软件测试方法、装置、设备及存储介质 | |
CN114564374A (zh) | 算子性能评估方法、装置、电子设备及存储介质 | |
CN107168844B (zh) | 一种性能监控的方法及装置 | |
US6691259B1 (en) | Terminal server data file extraction and analysis application | |
CN113010392A (zh) | 大数据平台的测试方法、装置、设备、存储介质和系统 | |
CN112463432A (zh) | 基于指标数据的巡检方法、装置及系统 | |
CN112202647B (zh) | 区块链网络中的测试方法、装置及测试设备 | |
CN114036034A (zh) | 一种应用于实时流式计算的性能测试方法 | |
CN111290942A (zh) | 压力测试方法、装置以及计算机可读介质 | |
CN111459815B (zh) | 一种实时计算引擎测试方法和系统 | |
CN116107913B (zh) | 单节点服务器的测试控制方法、装置及系统 | |
CN111130882A (zh) | 网络设备的监控系统及方法 | |
CN111240936A (zh) | 一种数据完整性校验的方法及设备 | |
CN114924942A (zh) | 系统压力测试方法及装置 | |
CN111459984B (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 |