CN110874314A - 压测方法、装置、设备和介质 - Google Patents

压测方法、装置、设备和介质 Download PDF

Info

Publication number
CN110874314A
CN110874314A CN201810995179.7A CN201810995179A CN110874314A CN 110874314 A CN110874314 A CN 110874314A CN 201810995179 A CN201810995179 A CN 201810995179A CN 110874314 A CN110874314 A CN 110874314A
Authority
CN
China
Prior art keywords
qps
pressure measurement
current
tested
state
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
CN201810995179.7A
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810995179.7A priority Critical patent/CN110874314A/zh
Publication of CN110874314A publication Critical patent/CN110874314A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations

Abstract

本发明公开了一种压测方法、装置、设备和介质。该方法,包括:基于基础数据和当前每秒查询率QPS,向被测系统输出压测数据流压测数据流是根据基础数据和当前QPS修改的数据;根据被测系统的反馈参数和预设状态阈值,确定被测系统的当前状态与被测系统的上一次状态不同;重复调整当前QPS,直至在当前QPS下被测系统的反馈参数稳定且当前QPS是调整后的最大值;将当前QPS,作为被测系统的最大稳定承载。采用本发明实施例后,降低压测时间进而提高压测效率。

Description

压测方法、装置、设备和介质
技术领域
本发明涉及计算机领域,尤其涉及一种压测方法、装置、设备和计算机存储介质。
背景技术
压测,即压力测试,是确立系统稳定性的一种测试,通常在系统正常运作范围之外进行,以考察系统的功能极限和隐患。一个业务线的压测需求通常称为一个压测方案。
现有技术中,针对每种场景人工设置起始压力,运行一段时间后,再根据观察到的被测系统的指标,增大或减小压力。以此类推,反复多轮。可见,上述压测的过程,耗时较长进而导致测试效率较低。
发明内容
本发明实施例提供了一种压测方法、装置、设备和计算机存储介质,能够降低压测的时间进一步提高测试效率。
一种压测方法,包括:
基于基础数据和当前每秒查询率QPS,向被测系统输出压测数据流压测数据流是根据基础数据和当前QPS修改的数据;
根据被测系统的反馈参数和预设状态阈值,确定被测系统的当前状态与被测系统的上一次状态不同;
重复调整当前QPS,直至在当前QPS下被测系统的反馈参数稳定且当前QPS是调整后的最大值;
将当前QPS,作为被测系统的最大稳定承载。
压测方法还包括:
根据被测系统的反馈参数,确定被测系统的当前状态与被测系统的上一次状态相同,更新当前QPS;
再次基于基础数据和更新后的当前QPS,向被测系统输出压测数据流。
当前状态包括正常状态;
更新后的当前QPS是在上一次的当前QPS的基础上增加QPS得到的参数。
当前状态包括异常状态;
更新后的当前QPS是在上一次的当前QPS的基础上减少QPS得到的参数。
更新当前QPS,包括:
按照预设步长,更新当前QPS,预设步长是根据反馈参数所确定的参数。
在当前QPS下被测系统的反馈参数稳定且当前QPS是调整后的最大值,包括:
在当前QPS下预设时间段内,被测系统的反馈参数稳定,且当前QPS是调整后的最大值。
向被测系统输出压测数据流,包括:
通过至少两条数据通道,向被测系统输出压测数据流,两条数据通道互为备用通道。
压测数据流是以当前QPS均匀输出的数据流。
一种压测装置,包括:
接口模块,用于基于基础数据和当前每秒查询率QPS,输出压测数据流,压测数据流是根据基础数据和当前QPS修改的数据;
反馈模块,用于根据接收的反馈参数和预设状态阈值,确定反馈参数对应的当前状态与上一次状态不同,重复调整当前QPS,直至在当前QPS下反馈参数稳定且当前QPS是调整后的最大值,将当前QPS,作为压测结果。
反馈模块,还用于根据接收的反馈参数,确定反馈参数对应的当前状态与上一次状态相同,发送更新后的当前QPS至接口模块。
当前状态包括正常状态;
更新后的当前QPS是在上一次的当前QPS的基础上增加QPS得到的参数。
当前状态包括异常状态;
更新后的当前QPS是在上一次的当前QPS的基础上减少QPS得到的参数。
反馈模块,还用于按照预设步长,更新当前QPS,预设步长是根据反馈参数所确定的参数。
反馈模块,具体用于重复调整当前QPS,直至在当前QPS下预设时间段内反馈参数稳定且当前QPS是调整后的最大值。
接口模块,具体通过至少两条数据通道,输出压测数据流,两条数据通道互为备用通道。
压测数据流是以当前QPS均匀输出的数据流。
一种压测设备,该设备包括:存储器,用于存储程序;
处理器,用于运行存储器中存储的程序,以执行如本发明实施例提供的压测方法。
一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如本发明实施例提供的压测方法。
从上述技术方案中可以看出,通过利用被测系统的反馈参数更新当前QPS,以调整向被测系统输出的压力,从而自动实现对被测系统的压测,得到被测系统的最大稳定承载,降低了压测的时间,从而进一步提高压测的效率。
附图说明
从下面结合附图对本发明的具体实施方式的描述中可以更好地理解本发明其中,相同或相似的附图标记表示相同或相似的特征。
图1是本发明实施例提供的压测系统的场景架构图;
图2是本发明实施例提供的被测系统输出的RPS随压测时间的变化示意图;
图3是在图2中的RPS的变化趋势下对应的被测系统的处理延迟时间随压测时间的变化示意图;
图4是本发明实施例提供的压测方法的流程示意图;
图5是本发明实施例提供的压测装置的结构示意图;
图6是本发明实施例提供的压测设备的示例性硬件架构的结构图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
参见图1,图1是本发明实施例提供的压测系统的场景架构图。参考图1,压测系统包括压测装置101、多个机器节点102和被测系统103。
在本发明的实施例中,压测装置101和机器节点102可以为物理机。被测系统103可以为承载业务需求的实时流计算系统。作为一个示例,被测系统可以为实时反作弊计算引擎所部署的集群、直通车对应的实时结算集群或钻展对应的实时结算集群。其中,直通车为一种按点击付费的效果营销工具。钻展是图片类广告位竞价投放平台,即一种营销工具。
在本发明的实施例中,当被测系统103需要进行压力测试时,压测装置101输出预设的初始每秒查询率(Query Per Second,QPS),并根据初始QPS将基础数据修改为与初始QPS对应的压测数据。
其中,基础数据包括生产环境中真实流量数据。如,基础数据为页面访问量数据和页面点击的异步流式日志消息中间件队列消息。
压测数据流包括基于基础数据和初始QPS所模拟的客户端向被测系统103待发送的数据流。在本发明的实施例中,可利用数据生成工具构建压测数据如DataFactory工具。多个机器节点102基于初始QPS向被测系统103发送压测数据,形成压测数据流。
作为一个示例,若基础数据中包括用户向被测系统103发送的100份请求数据,且初始QPS为1000,则压测装置101需要对基础数据中的100份数据进行修改,以得到与初始QPS相对应的至少1000份请求数据。其中,1000份请求数据即压测数据。具体来说,可以通过修改基础数据的标识得到多个与基础数据不同的数据。
在本发明的实施例中,压测装置101将与初始QPS对应的压测数据,按照预设的数据分配规则分配至每一个机器节点102,以使多个机器节点102并行向被测系统103输出压测数据流。具体来说,每个机器节点102基于初始QPS分配的QPS配额并行输出压测数据流。作为一个示例,数据流分配规则可以为平均分配,即每个机器节点102的QPS配额是相同的。
为了保证多个机器节点102按照预设的初始QPS对被测系统103进行压测,压测装置101将初始QPS分配至多个机器节点102,以使每个机器节点102按照对应的QPS配额向被测系统103发送该机器节点102被分配的压测数据流。其中,多个机器节点102同时向被测系统103发送压测数据流。
在本发明的实施例中,为了保证每个机器节点102按照对应的QPS配额均匀并稳定地输出压测数据流,可以对机器节点102进行限流。作为一个示例,机器节点102可利用令牌桶算法或漏斗算法等算法,限制压测数据流的发送速度。其中,令牌桶算法通过控制机器节点102发送到被测系统103的压测数据的数目,以限制压测数据流的发送速度。漏斗算法通过利用固定的漏出速率以限制压测数据流的发送速度。
在本发明的实施例中,机器节点102通过至少两条数据通道,向被测系统103输出压测数据流,该两条数据通道互为备用通道。作为一个示例,机器节点102和被测系统103之间的两条数据通道可以均为大容量异步式流式日志消息中间件。这样,当一条数据通道无法传输压测数据流,则可以通过另一个数据通道传输压测数据流。
在本发明的实施例中,当被测系统103接收多个机器节点102发送的压测数据流之后,被测系统103采集本系统中的运行指标。其中被测系统的运行指标为能够体现被测系统当前工作的健康状态的指标。
作为一个示例,被测系统103的运行指标可以为下述两个参数中的至少一个参数,被测系统的处理延迟时间和被测集群内部缓冲队列利用率。由于不同的被测系统的运行指标不同,能够反映被测系统103当前工作的健康度的参数均可以作为被测系统的运行指标。
在本发明的实施例中,被测系统103将采集的运行指标作为反馈参数反馈至压测装置101。压测装置101根据接收的反馈参数,更新初始QPS得到当前QPS。压测装置101根据当前QPS和基础数据构建与当前QPS对应的压测数据流。多个机器节点102再次向被测系统103发送与当前QPS对应的压测数据流,以使压测装置101获取新的反馈参数。压测装置101通过被测系统103发送的新的反馈参数,继续更新当前QPS,直至被测系统103处于正常状态,并将被测系统103处于正常状态的最大当前QPS作为被测系统103的最大稳定承载。被测系统103的最大稳定承载即为被测系统103的压测结果。
在本发明的一个实施例中,压测装置101可以利用递增压力的方式对被测系统103进行压测。压测装置101和多个机器节点102根据初始QPS向被测系统103发送压测数据流。被测系统103输出反馈参数至压测装置101。压测装置101将接收的反馈参数与反馈参数对应的预设状态阈值进行对比。
若反馈参数未达到预设状态阈值,则代表被测系统103的当前状态为正常状态。也就是说,被测系统103的当前状态为健康状态。然后,压测装置101将更新当前的QPS,以加大对被测系统103的压力。换言说,若被测系统103的当前工作状态为健康状态,压测装置101将对被测系统103加压。相应的,若反馈参数大于等于状态阈值,则代表被测系统103的当前状态为异常状态。也就是说,被测系统103的当前工作状态处于不健康状态。
在本发明的实施例中,压测装置101将初始QPS作为当前QPS,基于当前QPS通过机器节点102向被测系统103输出压测数据流。由于压测装置101通过递增压力的方式对被测系统103进行压测。因此被测系统103基于当前QPS输出的反馈参数未达到预设的状态阈值,即被测系统103处于正常状态。压测装置101将在当前QPS的基础上增加QPS以得到更新后的当前QPS。其中,压测装置101按照预设步长更新QPS。也就是说,压测装置101在上一次的当前QPS的基础上增加预设步长的QPS以得到当前QPS。其中,预设步长可为固定的步长,也可以是根据反馈参数进行自适应调整的步长。
作为一个示例,被测系统103的反馈参数为被测系统103的内部缓存队列的利用率。若被测系统103内部缓存队列的利用率远小于被测系统103内部缓存队列的状态阈值时,代表此时压测装置101对被测系统103施加的压力原小于被测系统103的承载能力,则可以使用大步长更新QPS。若被测系统103内部缓存队列的利用率接近状态阈值时,代表此时压测装置101对被测系统103施加的压力接近于被测系统103的最大稳定承载能力,则可以改为小步长更新QPS。
在本发明的实施例中,当压测装置101利用递增压力的方式对被测系统103进行压测时,在压测初始阶段,由于压测装置101对被测系统103的压力远小于被测系统103的最大稳定承载能力,因此可以利用大步长更新当前QPS。
压测装置101基于更新后的当前QPS对被测系统103加压后,接收被测系统103的反馈参数,并继续根据反馈参数判断被测系统103的当前状态。若被测系统103的当前状态仍为正常状态,则继续增加QPS值以更新当前的QPS;若被测系统103的当前状态为异常状态,则调整当前QPS,将被测系统103处于正常状态的最大当前QPS作为被测系统103的最大稳定承载。
作为一个示例,图2是本发明实施例被测系统输出的每秒处理请求数(RequestsPer Second,RPS)随压测时间的变化趋势。相应的,图3是在图2中RPS的变化趋势下被测系统的处理延迟时间随压测时间的变化趋势。
参见图2,横轴为压测时间,纵轴为被测系统103的RPS。当在17:10-17:20之间的时间段内,压测装置101输出的QPS逐渐增加,也就是说,压测装置101不断对被测系统103进行增加压力。继续参考图2,在17:10-17:20之间的时间段内,由于压测装置101输出的QPS不断增加,被测系统103的RPS从5000增加至15000。
参考图3,相应的,当在17:10-17:20之间的时间段内,随着压测装置101输出的QPS逐渐增加,被测系统103的处理延迟时间处于平稳状态,且均小于处理延迟时间的反馈阈值20毫秒(ms)。也就是说,当在17:10-17:20之间的时间段内,被测系统103的工作状态均为正常状态。
继续参考图2,随着压测装置101输出的压力继续增加,当压测时间在17:22左右时,被测系统103的QPS大于20000。相应的,参考图3,当压测时间在17:22左右时,被测系统103的处理延迟时间迅速恶化至50ms,大于处理延迟时间的反馈阈值20ms。也就是说,被测系统103从正常状态转换为异常状态。压测装置101在17:22左右向被测系统103施加的压力,已经明显大于被测系统103的处理能力。
在本发明的实施例中,若被测系统103从正常状态变为异常状态,则在上一次的QPS的基础上减少QPS得到更新后的当前QPS。其中,压测装置101按照预设步长更新QPS。也就是说,压测装置101在上一次的QPS的基础上减少预设步长的QPS以得到当前QPS。由于此时被测系统103的工作状态发生改变,即压测装置101对被测系统103施加的压力处于被测系统103的最大稳定承载附近,因此可以利用小步长调整当前QPS。
需要说明的是,压测装置101每更新一次QPS后,将保持该QPS在预设的时间阈值内不变。换言之,压测装置101利用更新后的QPS对压测系统103增加压力,并保持此压力在预设的时间阈值内不变,以确定被测系统103在该更新后的QPS的条件下的承载能力是否为最大稳定承载。
在本发明的实施例中,压测装置101根据被测系统103反馈的参数不断调整QPS,直至寻找到在预设时间段内被测系统103的反馈参数稳定时对应的最大QPS,并将该最大QPS,并将该QPS作为被测系统103的最大稳定承载。换句话说,被测系统103在预设时间段内处于正常状态对应的最大QPS为被测系统103的最大稳定承载。
在本发明的实施例中,被测系统的反馈参数可以为被测系统的处理延迟时间,也可以为被测集群内部缓冲队列利用率。其中,不同的反馈参数所对应的预设状态阈值不同。作为一个示例,对于被测系统的处理延迟时间的预设状态阈值为20ms,对于被测集群内部缓冲队列利用率的预设状态阈值可以为80%。对于不同的反馈参数对应的预设状态阈值,可根据实际应用需求进行设定。
继续参见图2,在17:22之后压测装置101降低QPS,被测系统103的RPS也随之降低。为了确认降低后的QPS是否为被测系统103的最大稳定承载,压测装置101降低QPS后,保持该QPS在10分钟内不变,因此被测系统103输出的RPS在17:22-17:32时间段内保持稳定。
继续参见图3,在17:22-17:32时间段内,被测系统103的处理延迟时间从50ms逐渐减小,但是被测系统103的处理延迟时间并没有处于稳定状态,因此该时间段内对应的RPS值为被测系统103的极限值,并不是被测系统103的稳定处理的最大承载值。所以,压测装置101将继续降低对被测系统103的压力,直至被测系统103的处理延迟时间在预设时间段内均小于反馈阈值且处于稳定状态,即被测系统103在预设时间段都处于稳定的正常状态。然后将被测系统103在预设时间段内处于正常状态所对应的压测装置101输出的最大QPS作为被测系统103的最大稳定承载。
继续参见图2,在17:32之后,被测系统103输出的RPS在预设时间段内保持不变,且被测系统103的处理延迟时间均小于反馈阈值且稳定不变。也就是说,图2中17:32之后对应的RPS为被测系统103的最大稳定承载,即被测系统103的稳定最优处理能力值。需要说明的是,当被测系统在预设时间段内被测系统是正常状态时,被测系统输出的RPS与压测装置输出的QPS相等。因此,被测系统103的最大稳定承载也是17:32之后压测装置101稳定输出的QPS。在本发明的实施例中,当压测装置101进行压测时,压测装置101先不断向被测系统103增加压力,直至被测系统103的状态由正常状态转为异常状态时,再不断减小压力,直至找到在预设时间段内被测系统103均处于正常状态的最大稳定承载。
在本发明的一个实施例中,压测装置101可以利用递减压力的方式对被测系统103进行压测。具体来说,压测装置101在预设的初始压力的基础上,不断递减压力,直至找到在预设时间段内被测系统103处于正常状态的最大稳定承载。其中,预设的初始压力是被测系统103的反馈参数剧烈抖动所对应的QPS。也就是说,压测装置101随机向被测系统103输入QPS,观察到被测系统103的反馈参数剧烈抖动后,则将上述剧烈抖动所对应的QPS作为预设的初始压力。被测系统103的反馈参数剧烈抖动,则说明被测系统103的状态在反复变化,那么剧烈抖动所对应的QPS接近被测系统103的最大承载。
在本发明的实施例中,压测装置101和多个机器节点102根据初始QPS向被测系统103发送压测数据流。被测系统103输出反馈参数至压测装置101,压测装置101接收到被测系统103的反馈参数后,根据反馈参数和反馈参数对应的状态阈值判断被测系统103的当前状态。
在本发明的实施例中,压测装置101将初始QPS作为当前QPS,并基于当前QPS通过递减压力的方式对被测系统103进行压测。由于初始QPS对应的反馈参数会产生剧烈抖动,因此被测系统103的当前状态为异常状态。然后,压测装置101在初始QPS的基础上减少QPS得到更新后的当前QPS。其中,压测装置101按照预设步长更新QPS。压测装置101更新QPS后,将保持该QPS在预设时间段内不变。其中,预设步长可以为固定步长,也可以是根据被测系统的反馈参数进行自适应调整的步长。
压测装置101根据被测系统103的反馈参数不断降低QPS,直至寻找到在预设时间段内被测系统103是正常状态对应的QPS,并将该QPS作为被测系统103的最大稳定承载。
在本发明的实施例中,压测装置101通过利用被测系统103发送的反馈参数,不断调整对被测系统103输出的压力,不需要人工去调整对被测系统输出的压力,从而实现对压测系统进行全自动、无人值守且快速的压测,提高了压测的效率。
参见图4,图4是本发明实施例提供的压测方法400的流程示意图。本发明实施例提供的压测方法包括S410至S440,具体如下:
S410,基于基础数据和当前每秒查询率QPS,向被测系统输出压测数据流压测数据流是根据基础数据和当前QPS修改的数据。
在本发明的实施例中,基础数据包括生产环境中真实流量数据。利用数据生产工具可以对基础数据进行修改,以生成与当前QPS对应的压测数据。然后,按照当前QPS发送与当前QPS对应的压测数据,即形成向被测系统输出的压测数据流。
在本发明的实施例中,压测数据流是以当前QPS均匀输出的数据流。若要实现压测数据流按照当前QPS均匀稳定的输出至被测系统,则需要对压测数据流进行限流。作为一个示例,可以利用令牌桶算法或漏斗算法等算法限制压测数据流的输出速率。
在本发明的实施例中,通过至少两条数据通道,向被测系统输出压测数据流,两条数据通道互为备用通道。
作为一个示例,数据通道可以均为大容量异步式流式日志消息中间件。
通过设置两条互为备用通道的数据通道,当其中一条数据通道出现故障时,可通过另一条数据通道传输压测数据流,从而保证压测数据流输出的可靠性,进而提高压测的可靠性。
S420,根据被测系统的反馈参数和预设状态阈值,确定被测系统的当前状态与被测系统的上一次状态不同。
在本发明的实施例中,被测系统接收到压测数据流之后,将会采集本系统的运行指标。其中,被测系统的运行指标为能够表征被测系统当前工作的健康状态的指标。被测系统的运行指标即为被测系统的反馈参数。
作为一个示例,被测系统的反馈参数可以为下述两个参数中的至少一个参数,被测系统的处理延迟时间和被测集群内部缓冲队列利用率。由于不同的被测系统的运行指标不同,能够反映被测系统当前工作的健康度的参数均可以作为被测系统的反馈参数。
在本发明的实施例中,根据被测系统的反馈参数与反馈参数对应的预设状态阈值,可以得出被测系统的当前状态。其中,被测系统的当前状态包括正常状态和异常状态。
具体来说,若被测系统的反馈参数小于预设状态阈值,则被测系统的当前状态为正常状态;若被测系统的反馈参数大于等于预设状态阈值,则被测系统的当前状态为异常状态。因此,根据被测系统的反馈参数和预设状态阈值,可以判断被测系统的当前状态和被测系统的上一次状态是否相同。若被测系统的当前状态与被测系统的上一次状态不同,则进入S430。
在本发明的一些实施例中,压测方法还包括以下步骤:
根据被测系统的反馈参数,确定被测系统的当前状态与被测系统的上一次状态相同,更新当前QPS。
再次基于基础数据和更新后的当前QPS,向被测系统输出压测数据流。
在本发明的实施例中,若被测系统的当前状态与被测系统的上一次状态均为正常状态,则代表向被测系统输出的压力还没有达到被测系统的最大稳定承载能力,因此可以在上一次的当前QPS的基础上增加QPS以更新当前QPS,进一步增加对被测系统的压力。
若被测系统的当前状态与被测系统的上一次状态均为异常状态,则代表向被测系统输出的压力已明显超出被测系统的承载能力,因此可以上一次的当前QPS的基础上减少QPS以更新当前QPS,从而减小对被测系统的压力。
在本发明的实施例中,按照预设步长,更新当前QPS,预设步长是根据反馈参数所确定的参数。
作为一个示例,若被测系统包括一个反馈参数,若该反馈参数远小于该参数对应的预设状态阈值,则代表向被测系统输出的压力远小于被测系统的承载能力,则可以按照大步长更新QPS。若反馈参数接近于预设状态阈值,则代表向被测系统输出的压力接近被测系统的最大稳定承载能力,则可以按照小步长更新QPS。
通过按照根据反馈参数确定的预设步长更新当前QPS,可以实现对输出的压力进行自适应性调整,提高了压测的精度。
在本发明的实施例中,当更新当前QPS后,需要再次对基础数据进行修改,以构建与更新后的当前QPS相对应的压测数据。然后,根据更新后的当前QPS将压测数据通过数据通道输出,以形成压测数据流,从而实现对被测系统的输出压力的调整。也就是说,在更新当前QPS之后,将返回S410。
S430,重复调整当前QPS,直至在当前QPS下被测系统的反馈参数稳定且当前QPS是调整后的最大值。
在本发明的实施例中,若被测系统的当前状态与被测系统的上一次状态不同,则代表向被测系统输出的压力位于被测系统的承载能力附近,则可以在当前QPS附近按照小步长调整QPS,以找到被测系统的最大稳定承载能力。
其中,为了保证寻找到的被测系统的承载能力值为被测系统的最优稳定承载,每调整一次QPS后,将保持该QPS在预设时间阈值内保持不变,以确定该调整后的QPS是否为被测系统的最优稳定承载。
在当前QPS小于被测系统的最大稳定承载的情况下,被测系统的反馈参数也是处于稳定状态。作为一个示例,若被测系统的最大稳定承载为A,则当前QPS等于A时,被测系统的反馈参数将在预设时间段内稳定。但是,若当前QPS小于A时,则代表向压测系统输出的压力小于被测系统的最大承载能力,则被测系统的反馈参数在预设时间段内也处于稳定状态。但是,被测系统的最大稳定承载既需要满足在当前QPS下被测系统的反馈参数在预设时间阈值内稳定,还需要满足该当前QPS是被测系统的反馈参数在预设阈值内稳定的最大QPS。因此,需要重复调整当前QPS,直至在当前QPS下被测系统的反馈参数稳定,并且当前QPS是调整后的最大值。也就是说,重复调整当前QPS,直至得到被测系统在预设时间段内处于正常状态时对应的最大当前QPS。
S440,将当前QPS,作为被测系统的最大稳定承载。
在本发明的实施例中,通过细微调整当前QPS,寻找到被测系统处于正常状态时对应的最大当前QPS,并将被测系统处于正常状态的最大当前QPS,作为被测系统的最大稳定承载。
本发明实施例提供的压测方法,通过利用被测系统的反馈参数调整向被测系统输出的压力,从而实现对被测系统的自动压测,降低了压测时间,进而提高压测的效率。
参见图5,图5是本发明实施例提供的压测装置500的结构示意图。本发明实施例提供的压测装置包括:
接口模块510,用于基于基础数据和当前每秒查询率QPS,输出压测数据流,压测数据流是根据基础数据和当前QPS修改的数据。
反馈模块520,用于根据接收的反馈参数和预设状态阈值,确定反馈参数对应的当前状态与上一次状态不同,重复调整当前QPS,直至在当前QPS下反馈参数稳定且当前QPS是调整后的最大值,将当前QPS,作为压测结果。
在本发明的实施例中,反馈模块520,还用于根据接收的反馈参数,确定反馈参数对应的当前状态与上一次状态相同,发送更新后的当前QPS至接口模块。
在本发明的实施例中,压测装置还包括通用控制中心模块530,用于负责压测装置进行压测业务的相关参数的配置。作为一个示例,通用控制中心模块对输出压测数据流的数据通道进行配置、对反馈参数的预设状态阈值进行配置以及对QPS更新时所需的预设步长进行配置等等。
在本发明的实施例中,当前状态包括正常状态;
更新后的当前QPS是在上一次的当前QPS的基础上增加QPS得到的参数。
在本发明的实施例中,当前状态包括异常状态;
更新后的当前QPS是在上一次的当前QPS的基础上减少QPS得到的参数。
在本发明的实施例中,反馈模块520,还用于按照预设步长,更新当前QPS,预设步长是根据反馈参数所确定的参数。
在本发明的实施例中,反馈模块520,具体用于重复调整当前QPS,直至在当前QPS下预设时间段内反馈参数稳定且当前QPS是调整后的最大值。
在本发明的实施例中,接口模块510,具体通过至少两条数据通道,输出压测数据流,两条数据通道互为备用通道。
在本发明的实施例中,压测数据流是以当前QPS均匀输出的数据流。
本发明实施例提供的压测装置,通过利用反馈参数实现自动压测,大大降低了压测时间,提高了压测效率。
根据本发明实施例提供的压测装置的其他与以上结合图1至图4描述的压测系统和压测方法类似,在此不再赘述。
图6是示出能够实现根据本发明实施例压测的方法和装置的压测设备的示例性硬件架构的结构图。
如图6所示,压测设备600包括输入设备601、输入接口602、中央处理器603、存储器604、输出接口605、以及输出设备606。其中,输入接口602、中央处理器603、存储器604、以及输出接口605通过总线610相互连接,输入设备601和输出设备606分别通过输入接口602和输出接口605与总线610连接,进而与压测设备600的其他组件连接。
具体地,输入设备601接收来自外部的输入信息,并通过输入接口602将输入信息传送到中央处理器603;中央处理器603基于存储器604中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器604中,然后通过输出接口605将输出信息传送到输出设备606;输出设备606将输出信息输出到压测设备600的外部供用户使用。
也就是说,图6所示的压测设备也可以被实现为包括:存储有计算机可执行指令的存储器;以及处理器,该处理器在执行计算机可执行指令时可以实现结合图4至图5描述的压测方法和装置。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品或计算机可读存储介质的形式实现。所述计算机程序产品或计算机可读存储介质包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使对应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (18)

1.一种压测方法,包括:
基于基础数据和当前每秒查询率QPS,向被测系统输出压测数据流,所述压测数据流是根据所述基础数据和所述当前QPS修改的数据;
根据被测系统的反馈参数和预设状态阈值,确定所述被测系统的当前状态与所述被测系统的上一次状态不同;
重复调整当前QPS,直至在当前QPS下所述被测系统的反馈参数稳定且当前QPS是调整后的最大值;
将所述当前QPS,作为所述被测系统的最大稳定承载。
2.根据权利要求1所述压测方法,其中,所述方法还包括:
根据被测系统的反馈参数,确定所述被测系统的当前状态与所述被测系统的上一次状态相同,更新当前QPS;
再次基于所述基础数据和更新后的当前QPS,向所述被测系统输出压测数据流。
3.根据权利要求2所述压测方法,其中,所述当前状态包括正常状态;
所述更新后的当前QPS是在上一次的当前QPS的基础上增加QPS得到的参数。
4.根据权利要求2所述压测方法,其中,所述当前状态包括异常状态;
所述更新后的当前QPS是在上一次的当前QPS的基础上减少QPS得到的参数。
5.根据权利要求2所述压测方法,其中,所述更新当前QPS,包括:
按照预设步长,更新当前QPS,所述预设步长是根据所述反馈参数所确定的参数。
6.根据权利要求1所述压测方法,其中,所述在当前QPS下所述被测系统的反馈参数稳定且当前QPS是调整后的最大值,包括:
在当前QPS下预设时间段内,所述被测系统的反馈参数稳定,且当前QPS是调整后的最大值。
7.根据权利要求1所述压测方法,其中,所述向被测系统输出压测数据流,包括:
通过至少两条数据通道,向所述被测系统输出所述压测数据流,所述两条数据通道互为备用通道。
8.根据权利要求1所述压测方法,其中,所述压测数据流是以所述当前QPS均匀输出的数据流。
9.一种压测装置,包括:
接口模块,用于基于基础数据和当前每秒查询率QPS,输出压测数据流,所述压测数据流是根据所述基础数据和所述当前QPS修改的数据;
反馈模块,用于根据接收的反馈参数和预设状态阈值,确定所述反馈参数对应的当前状态与上一次状态不同,重复调整当前QPS,直至在当前QPS下反馈参数稳定且当前QPS是调整后的最大值,将所述当前QPS,作为压测结果。
10.根据权利要求9所述压测装置,其中,所述反馈模块,还用于根据接收的反馈参数,确定所述反馈参数对应的当前状态与上一次状态相同,发送更新后的当前QPS至所述接口模块。
11.根据权利要求10所述压测装置,其中,所述当前状态包括正常状态;
所述更新后的当前QPS是在上一次的当前QPS的基础上增加QPS得到的参数。
12.根据权利要求10所述压测装置,其中,所述当前状态包括异常状态;
所述更新后的当前QPS是在上一次的当前QPS的基础上减少QPS得到的参数。
13.根据权利要求10所述压测装置,其中,所述反馈模块,还用于按照预设步长,更新当前QPS,所述预设步长是根据所述反馈参数所确定的参数。
14.根据权利要求9所述压测装置,其中,所述反馈模块,具体用于重复调整当前QPS,直至在当前QPS下预设时间段内反馈参数稳定且当前QPS是调整后的最大值。
15.根据权利要求9所述压测装置,其中,所述接口模块,具体通过至少两条数据通道,输出所述压测数据流,所述两条数据通道互为备用通道。
16.根据权利要求9所述压测装置,其中,所述压测数据流是以所述当前QPS均匀输出的数据流。
17.一种压测设备,其特征在于,
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,以执行如权利要求1-8任一所述压测方法。
18.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,当所述计算机程序指令被处理器执行时实现如权利要求1-8中任一项所述压测方法。
CN201810995179.7A 2018-08-29 2018-08-29 压测方法、装置、设备和介质 Pending CN110874314A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810995179.7A CN110874314A (zh) 2018-08-29 2018-08-29 压测方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810995179.7A CN110874314A (zh) 2018-08-29 2018-08-29 压测方法、装置、设备和介质

Publications (1)

Publication Number Publication Date
CN110874314A true CN110874314A (zh) 2020-03-10

Family

ID=69714750

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810995179.7A Pending CN110874314A (zh) 2018-08-29 2018-08-29 压测方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN110874314A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111414300A (zh) * 2020-03-27 2020-07-14 北京字节跳动网络技术有限公司 一种对服务器进行压力测试的方法及装置
CN111694748A (zh) * 2020-06-18 2020-09-22 行吟信息科技(武汉)有限公司 压力测试方法及装置
CN113315677A (zh) * 2021-05-19 2021-08-27 湖南快乐阳光互动娱乐传媒有限公司 一种基于镜像流量的压测方法、装置、存储介质和设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090271662A1 (en) * 2008-04-28 2009-10-29 Microsoft Corporation Steady state computer testing
US20150095892A1 (en) * 2013-09-27 2015-04-02 Linkedln Corporation Systems and methods for evaluating a change pertaining to a service or machine
CN106603695A (zh) * 2016-12-28 2017-04-26 北京奇艺世纪科技有限公司 一种每秒查询率的调整方法及装置
CN106911320A (zh) * 2016-08-26 2017-06-30 安徽师范大学 一种基于变步长lms算法的有源噪声控制系统
CN107153142A (zh) * 2017-05-23 2017-09-12 武汉大学 一种三相不对称t型输电线路参数测量方法
CN107872397A (zh) * 2016-09-27 2018-04-03 阿里巴巴集团控股有限公司 压测过程中的流量调度方法、调度平台和调度系统
CN108376112A (zh) * 2018-02-09 2018-08-07 腾讯科技(深圳)有限公司 压力测试方法、装置及可读介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090271662A1 (en) * 2008-04-28 2009-10-29 Microsoft Corporation Steady state computer testing
US20150095892A1 (en) * 2013-09-27 2015-04-02 Linkedln Corporation Systems and methods for evaluating a change pertaining to a service or machine
CN106911320A (zh) * 2016-08-26 2017-06-30 安徽师范大学 一种基于变步长lms算法的有源噪声控制系统
CN107872397A (zh) * 2016-09-27 2018-04-03 阿里巴巴集团控股有限公司 压测过程中的流量调度方法、调度平台和调度系统
CN106603695A (zh) * 2016-12-28 2017-04-26 北京奇艺世纪科技有限公司 一种每秒查询率的调整方法及装置
CN107153142A (zh) * 2017-05-23 2017-09-12 武汉大学 一种三相不对称t型输电线路参数测量方法
CN108376112A (zh) * 2018-02-09 2018-08-07 腾讯科技(深圳)有限公司 压力测试方法、装置及可读介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
翁雷雷;蔡皖东;姚烨;: "Web应用系统负载测试加压策略研究", 计算机应用, no. 10, 1 October 2012 (2012-10-01) *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111414300A (zh) * 2020-03-27 2020-07-14 北京字节跳动网络技术有限公司 一种对服务器进行压力测试的方法及装置
CN111694748A (zh) * 2020-06-18 2020-09-22 行吟信息科技(武汉)有限公司 压力测试方法及装置
CN113315677A (zh) * 2021-05-19 2021-08-27 湖南快乐阳光互动娱乐传媒有限公司 一种基于镜像流量的压测方法、装置、存储介质和设备
CN113315677B (zh) * 2021-05-19 2023-03-24 湖南快乐阳光互动娱乐传媒有限公司 一种基于镜像流量的压测方法、装置、存储介质和设备

Similar Documents

Publication Publication Date Title
CN108924221B (zh) 分配资源的方法和装置
US11146502B2 (en) Method and apparatus for allocating resource
US10460241B2 (en) Server and cloud computing resource optimization method thereof for cloud big data computing architecture
US8635345B2 (en) Network scoring system and method
US20200351207A1 (en) Method and system of limiting traffic
CN109768879B (zh) 目标业务服务器的确定方法、装置及服务器
CN104243405A (zh) 一种请求处理方法、装置及系统
CN110866167B (zh) 任务分配方法、装置、服务器和存储介质
CN110874314A (zh) 压测方法、装置、设备和介质
US20210083950A1 (en) Determining optimum software update transmission parameters
US20220012611A1 (en) Method and machine learning manager for handling prediction of service characteristics
CN111431813A (zh) 访问限流方法、设备及存储介质
CN108449408B (zh) 基于多路径的游戏加速系统
CN111291252B (zh) 一种每秒查询率的调整方法、装置、电子设备及存储介质
US8725868B2 (en) Interactive service management
CN112565829B (zh) 网络调度方法、装置、系统及可读存储介质
CN112040332B (zh) 平滑cdn带宽的视频内容的获取方法和系统
CN110247847B (zh) 节点之间回源选路的方法和装置
CN111831503A (zh) 一种基于监控代理的监控方法和监控代理装置
CN113835905B (zh) 一种消息队列负载均衡方法、装置、电子设备及介质
CN113904940A (zh) 资源调整方法、装置、电子设备和计算机可读存储介质
CN109344049B (zh) 测试数据处理系统的方法和装置
CN111694717A (zh) 一种确定系统承压能力值的方法和装置
CN114245225A (zh) 用于经由内容分发网络流式传输媒体数据的方法及系统
CN106161543B (zh) Cgi负载监控方法和装置

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