CN110458379B - 压力测试系统、方法、装置及电子设备 - Google Patents

压力测试系统、方法、装置及电子设备 Download PDF

Info

Publication number
CN110458379B
CN110458379B CN201810433782.6A CN201810433782A CN110458379B CN 110458379 B CN110458379 B CN 110458379B CN 201810433782 A CN201810433782 A CN 201810433782A CN 110458379 B CN110458379 B CN 110458379B
Authority
CN
China
Prior art keywords
subsystem
pressure test
processing strategy
service
commodity
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.)
Active
Application number
CN201810433782.6A
Other languages
English (en)
Other versions
CN110458379A (zh
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 CN201810433782.6A priority Critical patent/CN110458379B/zh
Publication of CN110458379A publication Critical patent/CN110458379A/zh
Application granted granted Critical
Publication of CN110458379B publication Critical patent/CN110458379B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • G06Q10/06375Prediction of business process outcome or impact based on a proposed change
    • 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

本申请公开了压力测试系统、方法、装置及电子设备。其中,压力测试方法,通过模拟实体店的销售终端POS的访问请求以及用户终端的访问请求,以对实体店系统提供的服务进行压力测试,在对被测服务进行压力测试时,实时获取实体店系统的压力测试性能指标,并根据压力测试性能指标确定对实体店系统的处理策略,指示实体店系统执行处理策略。采用本申请的技术方案,使得能够对线上用户和线下用户并发访问的实体店系统进行压力测试,且整个压力测试任务能够自动运行,且可避免一个问题点的出现中断整个压力测试任务;因此,可以有效测试实体店系统,降低压力测试成本,提升测试效率。

Description

压力测试系统、方法、装置及电子设备
技术领域
本申请涉及压力测试技术领域,具体涉及压力测试系统,压力测试方法和装置,以及电子设备。
背景技术
随着互联网等技术的不断发展,出现了一种对线下零售渠道完全重构的新零售业态。与传统零售最大的区别是,新零售运用大数据、移动互联、智能物联网、自动化等技术及先进设备,实现人、货、场三者之间的最优化匹配,从供应链、仓储到配送,新零售都有自己的完整物流体系,由此不仅可提升用户购物体验,又可实现快速配送,如门店附近3公里范围内30分钟送货上门,从而推进线上电商的发展。
图1示出了“新零售”业态下的典型实体店系统,该系统的用户包括线上用户和线下用户,以盒马鲜生为例,线上用户是通过盒马APP对实体店(该实体店距离用户位置最近)商品下单的消费者,线下用户是到店购买的消费者。由图1可见,一个实体店系统的运行需要多个子系统的相互配合支撑,如交易子系统、商品子系统、库存子系统、订单子系统、仓储子系统、配送子系统及营销子系统等等,各个子系统之间调用关系复杂,通过接口或者消息方式相互通信,其中每个子系统均可集群化部署,有单独的数据库系统、缓存系统等等。
为保证实体店系统在大访问压力下能够保持稳定,需要对系统进行压力测试。然而,在实现本发明过程中,发明人发现现有压力测试技术方案至少存在如下问题:1)不适用于线上用户和线下用户并发访问的实体店系统;2)由于各个子系统的技术人员均需参与压力测试工作,因此对技术人员的数量和技术水平均有较高要求,由此导致人力成本高;3)当一个子系统出现问题时,将导致整个实体店系统无法正常工作,由此使得压力测试无法继续进行,只能等待该故障排除后才能继续进行压力测试,因此测试效率低。
发明内容
本申请提供一种压力测试系统,压力测试方法和装置,以及电子设备,以解决现有技术存在的无法测试线上用户和线下用户并发访问的实体店系统、测试成本高且效率低的问题。
本申请提供一种压力测试系统,包括:
压力测试子模块,用于模拟实体店的销售终端POS的访问请求以及用户终端的访问请求,以对实体店系统提供的服务进行压力测试;
性能监控子模块,用于获取压力测试性能指标;
处理策略子模块,用于根据所述压力测试性能指标,确定处理策略;
运营维护子模块,用于指示所述实体店系统执行所述处理策略。
可选的,所述处理策略包括业务处理策略和技术处理策略。
可选的,所述业务处理策略包括以下策略的至少一项:商品下架,流量限制,仓储子系统异步调用库存子系统扣减实物库存。
可选的,所述压力测试性能指标包括商品访问量;
所述处理策略子模块,具体用于确定所述商品访问量达到第一阈值的商品,并确定将所述商品下架的业务处理策略。
可选的,所述服务包括商品下单服务;
所述压力测试性能指标包括POS订单生成时间;
所述处理策略子模块,具体用于若所述POS订单生成时间达到第二阈值、且持续时间达到第三阈值,则确定对所述用户终端的访问请求进行限流的业务处理策略。
可选的,所述处理策略子模块,还具体用于若所述商品下单服务处于所述对所述用户终端的访问请求进行限流的状态、且所述商品下单服务的未处理订单量小于第四阈值,则确定不对所述用户终端的访问请求进行限流的业务处理策略。
可选的,所述服务包括商品下单服务;
所述实体店系统包括库存子系统和仓储子系统;
所述压力测试性能指标包括所述库存子系统的库存扣减成功率;
所述处理策略子模块,具体用于若所述库存占用扣减成功率小于第五阈值、且持续时间达到第六阈值,则确定处理所述POS的访问请求时仓储子系统开启异步调用库存子系统扣减实物库存的业务处理策略。
可选的,所述技术处理策略包括以下策略的至少一项:设备下线,设备扩容,设备重启,数据库扩容,缓存扩容,重新部署系统。
可选的,所述实体店系统包括仓储子系统,所述仓储子系统包括悬挂链自动传输设备,所述悬挂链自动传输设备用于传送已拣货商品;
所述压力测试性能指标包括所述悬挂链自动传输设备的运行负荷;
所述处理策略子模块,具体用于若所述运行负荷达到第七阈值,则确定暂停所述悬挂链自动传输设备的技术处理策略。
可选的,所述实体店系统包括商品子系统;
所述压力测试性能指标包括所述商品子系统的商品查询成功率;
所述处理策略子模块,具体用于若所述商品查询成功率小于第八阈值,则确定所述商品子系统启用缓存的技术处理策略。
可选的,所述服务包括以下服务的至少一者:商品下单服务,商品查询服务,商品价格小计服务。
可选的,所述处理策略子模块,具体用于获取所述压力测试性能指标触发的报警条件,根据报警条件与处理策略之间的对应关系集,获取与所述触发的报警条件对应的处理策略;
所述系统还包括:
对应关系生成子模块,用于根据所述压力测试性能指标的历史数据和历史处理策略,生成所述对应关系集。
可选的,所述压力测试子模块,还用于若所述处理策略为停止压力测试,则停止对所述服务的压力测试;以及,模拟所述销售终端POS的访问请求以及所述用户终端的访问请求,对其它服务进行压力测试。
本申请还提供一种压力测试方法,包括:
模拟实体店的销售终端POS的访问请求以及用户终端的访问请求,以对实体店系统提供的服务进行压力测试;
获取压力测试性能指标;
根据所述压力测试性能指标,确定处理策略;
指示所述实体店系统执行所述处理策略。
可选的,所述处理策略包括业务处理策略和技术处理策略。
可选的,所述业务处理策略包括以下策略的至少一项:商品下架,流量限制,仓储子系统异步调用库存子系统扣减实物库存。
可选的,所述压力测试性能指标包括商品访问量;
所述根据所述压力测试性能指标,并确定处理策略,包括:
确定所述商品访问量达到第一阈值的商品;
确定将所述商品下架的业务处理策略。
可选的,所述服务包括商品下单服务;
所述压力测试性能指标包括POS订单生成时间;
所述根据所述压力测试性能指标,并确定处理策略,采用如下方式:
若所述POS订单生成时间达到第二阈值、且持续时间达到第三阈值,则确定对所述用户终端的访问请求进行限流的业务处理策略。
可选的,所述根据所述压力测试性能指标,并确定处理策略,采用如下方式:
若所述商品下单服务处于所述对所述用户终端的访问请求进行限流的状态、且所述商品下单服务的未处理订单量小于第四阈值,则确定不对所述用户终端的访问请求进行限流的业务处理策略。
可选的,所述服务包括商品下单服务;
所述实体店系统包括库存子系统和仓储子系统;
所述压力测试性能指标包括所述库存子系统的库存扣减成功率;
所述根据所述压力测试性能指标,并确定处理策略,采用如下方式:
若所述库存占用扣减成功率小于第五阈值、且持续时间达到第六阈值,则确定处理所述POS的访问请求时仓储子系统开启异步调用库存子系统扣减实物库存的业务处理策略。
可选的,所述技术处理策略包括以下策略的至少一项:设备下线,设备扩容,设备重启,数据库扩容,缓存扩容,重新部署系统。
可选的,所述实体店系统包括仓储子系统,所述仓储子系统包括悬挂链自动传输设备,所述悬挂链自动传输设备用于传送已拣货商品;
所述压力测试性能指标包括所述悬挂链自动传输设备的运行负荷;
所述根据所述压力测试性能指标,并确定处理策略,采用如下方式:
若所述运行负荷达到第七阈值,则确定暂停所述悬挂链自动传输设备的技术处理策略。
可选的,所述实体店系统包括商品子系统;
所述压力测试性能指标包括所述商品子系统的商品查询成功率;
所述根据所述压力测试性能指标,并确定处理策略,采用如下方式:
若所述商品查询成功率小于第八阈值,则确定所述商品子系统启用缓存的技术处理策略。
可选的,所述根据所述压力测试性能指标,并确定处理策略,包括:
获取所述压力测试性能指标触发的报警条件;
根据报警条件与处理策略之间的对应关系集,获取与所述触发的报警条件对应的处理策略;
所述方法还包括:
根据所述压力测试性能指标的历史数据和历史处理策略,生成所述对应关系集。
可选的,所述根据所述压力测试性能指标的历史数据和历史处理策略,并生成所述对应关系集,包括:
针对各个历史处理策略,根据与所述历史处理策略相关的所述历史数据,生成与特定设备相关的历史报警条件和历史处理策略之间的历史对应关系;
将所述历史对应关系作为所述特定设备所属的子系统的所述对应关系。
可选的,所述根据所述压力测试性能指标的历史数据和历史处理策略,并生成所述对应关系集,包括:
将一种服务场景下的所述对应关系作为适用于其它服务场景的所述对应关系。
可选的,还包括:
若所述处理策略为停止压力测试,则停止对所述服务的压力测试;
模拟所述销售终端POS的访问请求以及所述用户终端的访问请求,对其它服务进行压力测试。
可选的,所述服务包括以下服务的至少一者:商品下单服务,商品查询服务,商品价格小计服务。
可选的,所述压力测试性能指标包括:机器性能指标,子系统性能指标,子系统业务指标。
可选的,所述子系统业务指标包括:商品查询成功率,商品下单成功率,库存占用扣减成功率,配送时间,优惠券使用成功率。
可选的,所述处理策略包括:对所述实体店系统包括的多个子系统的多个处理策略;所述多个处理策略包括根据预设调整规则调整所述多个子系统的处理策略。
本申请还提供一种电子设备,包括:
处理器;以及
存储器,用于存储实现压力测试方法的程序,该设备通电并通过所述处理器运行该压力测试方法的程序后,执行下述步骤:模拟实体店的销售终端POS的访问请求以及用户终端的访问请求,以对实体店系统提供的服务进行压力测试;获取压力测试性能指标;根据所述压力测试性能指标,确定处理策略;指示所述实体店系统执行所述处理策略。
本申请还提供一种压力测试系统,包括:压力测试子系统、性能监控子系统和运营维护子系统;
其中,所述压力测试子系统,用于在对被测对象进行压力测试过程中,接收所述性能监控子系统发送的报警信息,其中,所述报警信息包括所述被测对象的调用链上各个子系统的性能指标触发的报警条件的信息;以及,根据与所述报警条件对应的处理策略,指示所述运营维护子系统执行所述处理策略;以及,若确定一个压力档位的测试成功,则对所述被测对象进行下一个压力档位的测试,直至达到目标压力值;
所述性能监控子系统,用于获取所述性能指标;以及,若所述性能指标达到所述报警条件,则向所述压力测试子系统发送所述报警信息;
所述运营维护子系统,用于根据所述压力测试子系统的指示,对所述子系统执行所述处理策略。
本申请还提供一种压力测试方法,包括:
模拟被测对象调用者的调用指令,以对所述被测对象进行压力测试;
实时获取所述被测对象的调用链上各个子系统的性能指标;
若所述性能指标达到报警条件,则根据报警条件与处理策略之间的对应关系集,获取与所述报警条件对应的处理策略;
根据所述处理策略,调整所述子系统。
本申请还提供一种压力测试装置,包括:
压力测试单元,用于模拟被测对象调用者的调用指令,以对所述被测对象进行压力测试;
性能指标获取单元,用于实时获取所述被测对象的调用链上各个子系统的性能指标;
处理策略获取单元,用于若所述性能指标达到报警条件,则根据报警条件与处理策略之间的对应关系集,获取与所述报警条件对应的处理策略;
子系统调整单元,用于根据所述处理策略,调整所述子系统。
本申请还提供一种电子设备,包括:
处理器;以及
存储器,用于存储实现压力测试方法的程序,该设备通电并通过所述处理器运行该压力测试方法的程序后,执行下述步骤:模拟被测对象调用者的调用指令,以对所述被测对象进行压力测试;实时获取所述被测对象的调用链上各个子系统的性能指标;若所述性能指标达到报警条件,则根据报警条件与处理策略之间的对应关系集,获取与所述报警条件对应的处理策略;根据所述处理策略,调整所述子系统。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各种方法。
本申请还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各种方法。
与现有技术相比,本申请具有以下优点:
本申请实施例提供的压力测试系统,通过压力测试子模块模拟实体店的销售终端POS的访问请求以及用户终端的访问请求,以对实体店系统提供的服务进行压力测试,在对被测服务进行压力测试时,通过性能监控子模块获取压力测试性能指标,并通过处理策略子模块根据所述压力测试性能指标,确定处理策略,并通过运营维护子模块指示所述实体店系统执行所述处理策略;这种处理方式,使得可对线上用户和线下用户并发访问的实体店系统进行压力测试,且整个压力测试任务能够自动运行,无需或极少人工干预,且当被测服务调用链上的任意一个子系统出现问题时,能够自动发现问题,自动确定问题的处理策略,并实时根据处理策略对实体店系统进行调整,避免一个问题点中断整个压力测试任务;因此,可以有效测试实体店系统,降低压力测试成本,提升测试效率。
附图说明
图1现有技术下的实体店系统的结构示意图;
图2本申请提供的压力测试系统的实施例的结构示意图;
图3a本申请提供的压力测试系统的实施例的实体店系统响应APP下单请求的子系统调用链示意图;
图3b本申请提供的压力测试系统的实施例的实体店系统响应POS下单请求的子系统调用链示意图;
图4本申请提供的压力测试系统的实施例的具体结构图;
图5本申请提供的压力测试方法的实施例的流程图;
图6本申请提供的压力测试方法的实施例的具体流程图;
图7本申请提供的一种电子设备的实施例的流程图;
图8本申请提供的压力测试系统的实施例的结构示意图;
图9本申请提供的压力测试系统的实施例的具体结构示意图;
图10本申请提供的压力测试方法的实施例的流程图;
图11本申请提供的压力测试装置的实施例的示意图;
图12本申请提供的另一种电子设备的实施例的流程图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请中,提供了压力测试系统,压力测试方法和装置,以及电子设备。在下面的实施例中逐一进行详细说明。
本申请提供的一种压力测试系统,其核心的技术思想为:模拟实体店的销售终端POS的访问请求以及用户终端的访问请求,以对实体店系统提供的服务进行压力测试,在对被测服务进行压力测试时,实时获取实体店系统的压力测试性能指标,并根据压力测试性能指标确定对实体店系统的处理策略,指示实体店系统执行处理策略。由于能够对线上用户和线下用户并发访问的实体店系统进行压力测试,且整个压力测试任务能够自动运行,且可避免一个问题点的出现中断整个压力测试任务;因此,可以有效测试实体店系统,降低压力测试成本,提升测试效率。
请参考图2,其为本申请的一种压力测试系统的实施例的结构示意图。所述系统包括:压力测试子模块101、性能监控子模块102、处理策略子模块103和运营维护子模块104。
所述压力测试子模块101,用于模拟部署在实体店的销售终端(Point Of Sale,POS)的访问请求以及用户终端(User Equipment,UE)的访问请求,以对所述实体店系统提供的服务进行压力测试。
所述销售终端POS,部署在实体店内,可用于扫描商品标识(如条形码等)及付款码。
所述用户终端UE,可以是智能手机、平板电脑等移动设备,用户通过移动设备上运行的移动应用APP向实体店系统发送访问请求;所述用户终端,也可以是个人电脑、笔记本电脑等设备,用户可通过设备上运行的浏览器向实体店系统发送访问请求。
所述实体店的销售终端POS的访问请求,可以是到店购买商品的消费者通过店员使用的POS机向实体店系统发送的访问请求。
所述用户终端的访问请求,可以是位置在实体店配送范围内的消费者通过其移动设备上安装的APP向实体店系统发送的访问请求。
为了便于描述,以下将所述实体店的销售终端POS的访问请求称为线下访问请求或POS请求,将到店购买商品的消费者称为线下用户;将用户终端的访问请求称为线上访问请求或UE请求,将通过用户终端访问的消费者称为线上用户。
所述实体店系统,同时服务于线上用户和线下用户,同时接收线上访问请求和线下访问请求,并处理两种类型的访问请求。
所述服务,可以是商品下单服务,商品查询服务,商品小计服务,加入购物车服务,确认订单服务等等。
本申请实施例的压力测试过程,可以是根据预设的压力档位,向被测服务不断增加测试压力,并在一个压力档位的测试过程中,如果被测服务遇到性能指标超过预期值或者某种资源达到饱和状态等问题时,对被测服务涉及的子系统进行调整以修复该问题,使被测服务能够承受更大压力的测试,直至达到目标压力值。采用这种测试方式,可以有效保证被测服务面对目标压力值时的性能、可靠性和稳定性等,减少被测服务的宕机时间,及由此带来的损失。
本申请实施例所述的目标压力值,是对被测服务进行压力测试时,向被测服务施加的最大压力,当压力达到目标压力值后,整个测试过程完成。所述目标压力值,可以根据被测服务的现场并发调用的预测值进行设置,例如,在特定活动(如双11活动)之前,先预测线上下单请求的数量和线下下单请求的数量,根据下单请求的预测总数量设定商品下单服务的目标压力值;或者,先预测线上商品查询请求的数量和线下商品查询请求的数量,根据商品查询请求的总预测数量设定商品查询服务的目标压力值。
不同被测服务可对应不同的目标压力值,例如,要求商品下单服务可以支持每秒1300下单量(访问请求),即1300qps(Query Per Second,每秒查询率),其中线上下单量为1000qps,线下下单量为300qps;要求商品查询服务可以支持每秒1600访问量,即1600qps,其中线下查询量为600qps;要求商品价格小计服务可以支持每秒1300访问量,即1300qps,其中POS商品价格小计支持300qps。
所述压力档位,可以是目标压力值的百分比,例如,目标压力值为率,压力档位分别为10%、30%、50%、100%的目标压力值。
所述压力测试子模块101可负责压力测试动作的管理等。压力测试动作包括压力测试对象(被测服务)的先后顺序,目标压力值(如压测流量目标等),压力档位顺序等等。所述压力测试子模块101可通过运行预先编写好的测试软件,根据预设的目标压力值和压力档位,逐个档位地模拟线上访问请求和线下访问请求对被测服务进行压力测试。
表1示出了当被测服务为实体店系统提供的商品下单服务时,一个压力档位下的压力测试数据,包括多个线上访问请求和多个线下访问请求。
测试数据序号 订单详情 访问请求类型
1 商品A:1个;商品B:3个;商品C:1个 线上访问请求
2 商品D:1个; 线上访问请求
3 商品E:2个;商品F:4个; 线下访问请求
表1、压力测试数据表
图3a示出了实体店系统提供的商品下单服务响应线上访问请求(线上下单请求)时的子系统调用链,该调用链可包括如下子系统:第一网关子系统、交易子系统、订单子系统、商品子系统、库存子系统、子仓储系统和配送子系统。该调用链上子系统之间的调用关系包括:所述第一网关子系统调用所述交易子系统,所述交易子系统调用所述订单子系统、所述商品子系统及所述库存子系统,所述订单子系统调用所述仓储子系统,所述仓储子系统调用所述配送子系统、所述商品子系统及所述库存子系统。
商品下单服务响应线上下单请求的处理过程如下所述。线上用户通过APP下单后,会通过第一网关系统调用交易子系统,交易子系统会查询商品子系统得到商品的基本信息,查询营销子系统得到商品的优惠信息进行价格扣减,查询库存子系统得到当前商品的库存量并进行库存占用扣减,然后调用订单子系统生成订单,再将订单转发给仓储子系统,仓储子系统负责拣打包、拣货、生成批次,仓储子系统同时会调用库存子系统扣减实物库存,最后调用配送子系统进行送货。
图3b示出了实体店系统提供的商品下单服务响应线下下单请求时的子系统调用链,该调用链可包括如下子系统:第二网关子系统、交易子系统、订单子系统、商品子系统、库存子系统和仓储子系统。所述调用链上子系统之间的调用关系包括:所述第二网关子系统调用所述交易子系统,所述交易子系统调用所述订单子系统、所述商品子系统及所述库存子系统,所述订单子系统调用所述仓储子系统,所述仓储子系统调用所述商品子系统及所述库存子系统。
商品下单服务响应线下下单请求的处理过程如下所述。线下用户在门店购物时,店员首先通过POS机扫描商品条形码以查询及展示商品相关信息,扫条码可调用第二网关子系统,然后调用交易子系统,查询商品子系统得到商品的基本信息,查询营销子系统得到优惠信息;然后,可进行POS商品价格小计的操作,全部商品做一次批量查询,POS商品价格小计和POS扫码查询商品信息的调用链路相同,并查询是否有组合优惠信息等;接下来,店员通过POS机扫描付款码以进行结算收款,即通过POS机向实体店系统发送线下下单请求,此时可查询库存子系统得到当前的库存信息并进行库存占用扣减,然后调用订单子系统生成订单,再将订单转发给仓储子系统,仓储子系统会调用库存子系统扣减实物库存。和线上下单方式不同的是,线下下单不需要配送。
通过所述压力测试子模块101模拟实体店的销售终端POS的访问请求以及用户终端的访问请求,启动对所述实体店系统提供的服务进行压力测试后,就可以通过所述性能监控子模块102实时获取所述实体店系统的压力测试性能指标。
所述性能监控子模块102对被测服务进行全链路的性能监控,实时获取被测服务调用链上各个子系统的各项压力测试性能指标。通过全链路性能监控,使得从整体维度到局部维度、从业务维度到技术维度全面展示各项指标,将跨子系统的所有调用链性能信息集中展现。
所述压力测试性能指标,可以是业务性能指标,也可以是技术性能指标。
所述业务性能指标,包括与被测服务的业务数据有关的性能指标,例如,业务性能指标可以是线上访问请求的商品查询成功率,线上访问请求的商品下单成功率,线上访问请求的商品搜索成功率,线下访问请求的商品查询成功率,线下访问请求的商品下单成功率,库存占用扣减成功率,配送时间,优惠券使用成功率,查询环比同步变化率等等。
所述技术性能指标,包括但不限于以下方面相关指标的至少一项:机器性能指标,子系统性能指标。其中,机器性能指标,可以包括:中央处理器CPU使用率、Load负载、磁盘使用率、内存使用率等等。子系统性能数据指标,可以包括:服务接口调用量、接口耗时、调用成功率;也可以包括:读写数据库的访问量QPS、响应时间和成功率;还可以包括:读写缓存的访问量QPS、响应时间和成功率;还可以包括:消息发送和接收的访问量QPS、响应时间和成功率等等。
在一个示例中,所述性能监控子模块102要获取所述压力测试性能指标,可采用如下方式实现。首先,获取被测服务调用链上各个子系统、各台设备记录的压力测试日志文件;然后,根据所述压力测试日志文件记录的各种数据(可包括子系统的业务数据),生成所述压力测试性能指标。
通过所述性能监控子模块102获取所述压力测试性能指标后,就可以通过所述处理策略子模块103根据所述压力测试性能指标,确定处理策略。
所述处理策略,是指对实体店系统进行调整的方式。所述处理策略,可以是业务处理策略,也可以是技术处理策略,还可以同时包括业务处理策略和技术处理策略。
所述业务处理策略,可以是商品下架、流量限制、仓储子系统异步调用库存子系统扣减实物库存等策略。本申请实施例提供的压力测试系统,通过根据压力测试性能指标确定业务处理策略,并指示实体店系统执行业务处理策略,使得在不改变实体店系统硬件设施的情况下,实体店系统可承受较大的业务压力,面对大访问量仍能保持稳定的工作状态。
在一个示例中,所述压力测试性能指标包括实体店所售商品的访问量,如每秒下单或查询总量、来自POS的每秒下单或查询量、来自用户终端的每秒下单量或查询等等;相应的,所述处理策略子模块103,具体用于确定所述商品访问量达到第一阈值的商品,并确定将这些商品下架的业务处理策略。采用这种处理方式,使得在商品销售速度过快(异常销售速度)或查询次数过多(异常查询次数)时,可以有效限制商品的查询与购买,避免热销商品脱销等等。
所述第一阈值,可以根据业务需求确定,例如,将第一阈值设为商品库存总量的百分比(如90%)等等。不同商品可以对应相同或不同的第一阈值。
将商品下架的业务处理策略,可以是将实体店货架上的实物下架,也可以是将线上(如APP)展示的商品信息下架,或者同时将实物及线上商品信息下架。通过下架线上展示的商品信息,可有效限制线上访问请求的数量,确保线下销售正常。
在另一个示例中,被测服务为商品下单服务;所述压力测试性能指标,可以是POS订单生成时间,如POS扫描付款码后订单生成时间;所述处理策略子模块103,具体用于若所述POS订单生成时间达到第二阈值、且持续时间达到第三阈值,则确定对所述用户终端的访问请求进行限流的业务处理策略。例如,当POS机订单生成时间达到30秒、且该情况的持续时间达到5分钟时,对线上下单请求进行限流处理,如将线上下单请求的上限值限定为100qps。采用这种处理方式,使得线下订单处理速度较低时,对线上下单请求进行限流处理;因此,可以有效提升线下订单的处理速度,从而减少线下用户排队等待时间。
具体实施时,所述处理策略子模块,还可具体用于若所述商品下单服务处于所述对所述用户终端的下单请求进行限流的状态、且所述商品下单服务的未处理订单量小于第四阈值,则确定不对所述用户终端的下单请求进行限流的业务处理策略。采用这种处理方式,使得线下订单处理速度恢复正常后,关闭对线上下单请求的限流处理;因此,可以有效确保线上下单请求恢复正常,从而提升线上用户的购物体验。
其中,第二阈值、第三阈值及第四阈值,均可以根据业务需求确定。
在又一个示例中,被测服务为商品下单服务;所述实体店系统包括仓储子系统,所述仓储子系统包括悬挂链自动传输设备,所述悬挂链自动传输设备用于传送已拣货商品;所述压力测试性能指标包括所述悬挂链自动传输设备的运行负荷;所述处理策略子模块,具体用于若所述运行负荷达到运行负荷阈值,则确定对所述用户终端的访问请求进行限流的业务处理策略。采用这种处理方式,使得悬挂链自动传输设备超负荷运转时,对线上下单请求进行限流处理;因此,可以确保实体店系统稳定运行。
具体实施时,所述处理策略子模块,还可具体用于若所述商品下单服务处于所述对所述用户终端的下单请求进行限流的状态、且所述运行负荷小于运行负荷阈值,则确定不对所述用户终端的下单请求进行限流的业务处理策略。采用这种处理方式,使得悬挂链自动传输设备恢复正常后,关闭对线上下单请求的限流处理;因此,可以有效确保线上下单请求恢复正常,从而提升用户体验。
在又一个示例中,被测服务为商品下单服务;所述压力测试性能指标包括商品下单服务的访问量(即下单量),可以是所述商品下单服务的下单总量,也可以是来自POS或用户终端的下单量;所述处理策略子模块103,具体用于若所述商品下单服务的下单量达到预设阈值,则确定对所述商品下单服务的下单请求进行限流的业务处理策略。采用这种处理方式,可以有效控制服务访问量。
在又一个示例中,被测服务为商品下单服务;所述实体店系统包括库存子系统和仓储子系统;所述压力测试性能指标包括所述库存子系统的库存扣减成功率;所述处理策略子模块,具体用于若所述库存扣减成功率(如库存占用扣减成功率)小于第五阈值(如100%)、且持续时间达到第六阈值,则确定处理POS机发送的线下订单请求时仓储子系统开启异步调用库存子系统扣减实物库存的业务处理策略,即由同步调用改为发消息的方式进行异步调用。采用这种处理方式,使得通过POS下单时,无需等待实物库存扣减成功即可完成订单,以使线下用户成功购买商品;因此,可以有效提升线下订单的处理速度,从而减少线下用户排队等待时间。
所述技术处理策略,可以是设备下线、设备扩容、设备重启、数据库扩容、缓存扩容、重新部署系统等等。本申请实施例提供的压力测试系统,通过根据压力测试性能指标确定技术处理策略,并指示实体店系统执行技术处理策略,使得实体店系统面对大访问量时仍可稳定工作。
在一个示例中,所述实体店系统包括仓储子系统,所述仓储子系统包括悬挂链自动传输设备,所述压力测试性能指标包括所述悬挂链自动传输设备的运行负荷;所述处理策略子模块,具体用于若所述运行负荷达到第七阈值,则确定暂停所述悬挂链自动传输设备的技术处理策略。采用这种处理方式,可以确保悬挂链自动传输设备不因过度使用受到损坏。
具体实施时,所述处理策略子模块,还可具体用于若暂停所述悬挂链自动传输设备的时间达到预设时长阈值,则确定恢复所述悬挂链自动传输设备的技术处理策略。采用这种处理方式,使得悬挂链自动传输设备可恢复正常运行;因此,可以有效确保线上下单请求的正常处理,从而确保线上订单的处理恢复正常。
在另一个示例中,所述实体店系统包括商品子系统;所述压力测试性能指标包括所述商品子系统的商品查询成功率;所述处理策略子模块,具体用于若所述商品查询成功率小于第八阈值,则确定所述商品子系统启用缓存的技术处理策略。采用这种处理方式,可以有效提升商品查询成功率,从而提升用户体验。
在又一个示例中,所述实体店系统包括商品子系统;所述压力测试性能指标包括所述商品子系统的商品信息查询量5分钟环比;所述处理策略子模块,具体用于若所述商品信息查询量5分钟环比达到第九阈值(如上升50%),则确定所述商品子系统的设备扩容的技术处理策略。采用这种处理方式,可以有效降低商品信息查询量5分钟环比,从而提升用户体验。
所述处理策略子模块103,可具体用于获取所述压力测试性能指标触发的报警条件,根据报警条件与处理策略之间的对应关系集,获取与所述触发的报警条件对应的处理策略。在这种实现方式下,所述处理策略子模块103,不仅要实时获取压力测试过程中的所述压力测试性能指标,还负责管理报警条件与处理策略之间的对应关系集,并判断所述压力测试性能指标是否达到所述报警条件;当判定所述压力测试性能指标达到所述报警条件时,根据所述对应关系集获取与该报警条件对应的处理策略。
所述报警条件,可以根据被测服务的特点进行设定,例如,根据实体店系统的网络架构、业务需求等特点进行设定。
在一个示例中,商品下单服务的调用链上包括交易子系统、商品子系统和库存子系统,三者均采用服务器集群架构,可将报警条件设置为:1)交易子系统的任意一台机器的CPU利用率达到90%且负载大于4;2)商品子系统的任意一个接口耗时超过500毫秒且持续5分钟;3)库存子系统的所有机器内存利用率平均达到85%且耗时超过预设值300毫秒、且交易子系统和商品子系统正常;4)交易子系统和库存子系统都有CPU利用率大于90的机器;5)商品子系统的访问量大于1000qps、且商品查询时间大于100毫秒;6)库存子系统的库存扣减成功率小于100%、且持续时间达到2分钟等等。
表2示出了本申请实施例的部分报警条件与处理策略之间的对应关系。
Figure BDA0001654096940000151
Figure BDA0001654096940000161
表2、报警条件与处理策略之间的对应关系表
所述对应关系集,可以采用人工方式进行设置,也可以基于被测服务的调用链上的各个子系统的压力测试性能指标日志和处理策略日志数据,自动分析获得。
请参考图4,其为本申请的一种压力测试系统的实施例的具体结构示意图。在本实施例中,压力测试系统还包括对应关系生成子模块401,该模块用于根据所述压力测试性能指标的历史数据和历史处理策略,生成所述对应关系集。采用这种处理方式,可以自动生成所述报警条件与所述处理策略之间的对应关系集。
所述对应关系生成子模块401主要从已有的历史压测数据中分析出压力测试性能指标的历史数据和历史处理策略之间的相关性,挖掘出所述对应关系集。这些自动推导出的对应关系可以同步到所述处理策略子模块103使用,同时可以人工进行二次编辑和修正。
在一个示例中,所述对应关系生成子模块401,具体用于针对各个历史处理策略,根据与所述历史处理策略相关(如时间相关等等)的历史性能指标,生成与特定机器相关的历史报警条件和历史处理策略之间的历史对应关系,将所述历史对应关系作为所述特定机器所属的子系统的所述对应关系。采用这种处理方式,使得将对一个子系统集群中的一个机器的问题解决方式(报警条件和处理策略之间的对应关系)迁移(应用)到同一集群的其它机器;因此,可以有效提升测试效率和成功率。
例如,某一个子系统的某一台机器在CPU达到95%且负载大于4时,向此机器发送了一个服务下线命令,由此可以推出与该机器对应的所述对应关系,并将该对应关系扩展到该子系统:该子系统的机器CPU达到95%且负载大于4时,则执行服务下线命令。
在另一个示例中,所述对应关系生成子模块401,还具体用于将一种服务场景下的所述对应关系作为适用于其它服务场景的所述对应关系。例如,将商品下单服务场景下商品子系统的所述对应关系应用到商品查询场景或商品小计场景下。采用这种处理方式,可以进一步提升测试效率和成功率。
表3示出了本申请实施例的订单维度的历史压测数据(包括:压力测试性能指标的历史数据和历史处理策略)及据此自动生成的所述对应关系。
Figure BDA0001654096940000171
Figure BDA0001654096940000181
Figure BDA0001654096940000191
表3、订单维度的历史压测数据及对应关系表
需要注意的是,在采用传统压力测试方式测试实体店系统时,如果一个子系统的技术人员需要根据本子系统及其它子系统的性能指标,做出本子系统的调整策略,则该子系统的技术人员不仅需要监测本子系统的性能指标,还需要监测其它子系统的压力测试性能指标,由此为技术人员带来了更多的工作;更严重的是,当需要按照一定的顺序调整多个子系统时,例如,同步调整两个子系统或在调整子系统A后再调整子系统B,不同子系统技术人员的人工触发调整方式将很难使多个子系统的调整遵循调整规则;因此,现有技术存在的人工工作量大、子系统调整效率低且正确率低的问题。
为了解决该问题,本申请实施例提供的测试系统,所述报警条件可涉及多个子系统的性能指标,与该类报警条件对应的处理策略可包括:根据预设调整规则对至少一个子系统进行调整的处理策略。例如,报警条件:库存子系统的所有机器内存利用率平均达到75%且耗时超过预设值200毫秒、且商品子系统的访问量大于800QPS,其处理策略为:对商品子系统启动缓存,且同步对库存子系统的机器进行扩容。采用这种处理方式,可以有效降低技术人员的工作量,提升子系统调整效率和正确率,提升压力测试的效率。
通过所述处理策略子模块103根据所述压力测试性能指标确定处理策略后,就可以通过所述运营维护子模块104指示所述实体店系统执行所述处理策略。
所述运营维护子模块104,负责实体店系统的调整工作,例如,各个子系统集群的机器管理,如执行机器扩容、数据库扩容、子系统下线、关闭机器等各种操作。对于技术处理策略,所述运营维护子模块104向相关子系统发送技术处理指令,对相关子系统进行技术调整;对于业务处理策略,所述运营维护子模块104向相关子系统发送业务处理指令,对相关子系统进行业务调整,如商品下架、流量限制、仓储子系统异步调用库存子系统扣减实物库存等等。
在一个示例中,在通过所述运营维护子模块104对实体店系统进行调整之后,所述压力测试子模块101根据本次压力档位,重新启动对被测服务的压力测试。
所述压力测试子模块101,还用于若确定一个压力档位的测试成功,则对被测服务进行下一个压力档位的测试,直至达到目标压力值。
在一个示例中,如果在一个压力档位的测试过程中,持续未执行处理策略的时长达到时长阈值,则确定该压力档位的测试成功。其中,所述时长阈值可根据经验进行设置,例如,设置为5分钟等等。
在一个示例中,所述压力测试子模块101,还用于在确定处理策略为停止压力测试时,停止对被测服务的压力测试。例如,若交易子系统和库存子系统都有CPU利用率大于90的机器,则处理策略为:停止压力测试。
在另一个示例中,所述压力测试子模块101,还用于在停止对当前被测服务的压力测试之后,模拟所述销售终端POS的访问请求以及所述用户终端的访问请求,对实体店系统提供的其它服务进行压力测试,或者根据其它目标压力值对当前被测服务进行压力测试。采用这种处理方式,使得遇到当前被测服务出现问题时,能够切换到其它服务场景继续进行压力测试,降低一个问题点导致全部场景压力测试停止的问题;因此,可以有效提高测试效率。
需要说明的是,不同被测服务的压力测试值可以相同或不同,不同被测服务的调用链可涉及相同或不同的子系统,不同被测服务涉及的同一子系统的报警条件可以相同或不同,相应处理策略也可以相同或不同。在具体实施中,根据实际需求确定报警条件和处理策略。
在另一个示例中,所述压力测试子模块101,还用于获取所述子系统的压力测试日志文件;以及,根据所述压力测试日志文件,生成压力测试报告。
所述压力测试报告,是压力测试结束后的运行结果统计报表,可包含业务、CPU、负载、接口调用量、JVM、接口成功率等各种维度的统计数据。
采用这种处理方式,使得自动搜集所有的压力测试日志,形成全面的数据分析报告,避免出现人工收集不准确、不全面的问题;因此,可以有效提高测试报告的准确性和全面性。
下面给出一个示例,以更加直观地说明本申请提供的压力测试系统的工作过程。该示例的测试对象为商品下单服务,其测试过程包括如下步骤:
1)所述压力测试子模块101发出压测命令,模拟POS和APP向实体店系统提供的商品下单服务发送访问请求,目标压力值为1300qps,压力档位为10%的目标压力值,如果某间隔分钟(如5分钟)内没有触发报警条件,则继续增加压测值,每次增加10%。
2)APP访问请求通过第一网关系统传送至交易子系统,POS的访问请求通过第二网关系统传送至交易子系统,各个子系统将各自在测试过程中的压力测试性能数据记录在日志文件中,其中,机器性能指标可记录在各个子系统的系统日志中、子系统性能指标可记录在子系统调用日志中,子系统业务指标可记录在业务数据日志中。
3)所述性能监控子模块102实时收集各个子系统的日志,获取压力测试性能指标。
4)所述处理策略子模块103如果判定所述压力测试性能指标触发的报警条件是:交易子系统的某个机器的CPU利用率达到90%且负载大于4,则将处理策略确定为“将机器服务下线”;如果判定所述压力测试性能指标触发的报警条件是:商品子系统的接口X耗时超过500ms且持续5分钟,则将处理策略确定为“将机器服务下线”;如果判定所述压力测试性能指标触发的报警条件是:库存子系统的所有机器内存利用率平均达到85%且耗时超过预设值300ms、且交易子系统和商品子系统正常,则将处理策略确定为“对库存子系统的机器进行扩容”;如果判定所述压力测试性能指标触发的报警条件是:商品子系统的访问量大于1000QPS、且商品查询时间大于100ms,则将处理策略确定为“对商品子系统启动缓存”;如果判定所述压力测试性能指标触发的报警条件是:库存系统的库存扣减成功率小于100%、且持续时间达到2分钟,则将处理策略确定为“停止压力测试或重新部署商城系统”;如果判定所述压力测试性能指标触发的报警条件是:交易子系统和库存子系统中的CPU利用率达到90%,则停止压力测试。
5)在所述处理策略子模块103确定处理策略后,所述运营维护子模块104向实体店系统发出执行所述处理策略的指示。
6)压力测试停止后,自动生成每个子系统的运行状况报表,推送给系统工程师,供其分析和优化。
需要说明的是,所述压力测试系统既可应用在所述实体店系统的测试阶段,也可应用在所述实体店系统的正式运行阶段。当所述压力测试系统应用在所述实体店系统的正式运行阶段时,所述性能监控子模块用于获取所述实体店系统在正式运行阶段的所述压力测试性能指标,所述处理策略子模块用于根据该压力测试性能指标,确定对处于正式运行阶段的实体店系统的处理策略,处理策略可以是业务处理策略或技术处理策略,所述运营维护子模块用于指示处于正式运行阶段的实体店系统执行该处理策略;这种处理方式,使得可根据实体店系统的实际运行状况实时优化实体店系统的业务方面和技术方面;因此,可以有效确保实体店系统的性能、稳定性及可靠性。
从上述实施例可以看出,本申请实施例提供的压力测试系统,通过压力测试子模块模拟实体店的销售终端POS的访问请求以及用户终端的访问请求,以对实体店系统提供的服务进行压力测试,在对被测服务进行压力测试时,通过性能监控子模块获取压力测试性能指标,并通过处理策略子模块根据所述压力测试性能指标,确定处理策略,并通过运营维护子模块指示所述实体店系统执行所述处理策略;这种处理方式,使得可对线上用户和线下用户并发访问的实体店系统进行压力测试,且整个压力测试任务能够自动运行,无需或极少人工干预,且当被测服务调用链上的任意一个子系统出现问题时,能够自动发现问题,自动确定问题的处理策略,并实时根据处理策略对实体店系统进行调整,避免一个问题点中断整个压力测试任务;因此,可以有效测试实体店系统,降低压力测试成本,提升测试效率。
与上述的一种压力测试系统相对应,本申请还提供一种压力测试方法。请参考图5,其为本申请提供的一种压力测试系统实施例的流程图,本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。本申请提供的一种压力测试方法包括:
步骤S501:模拟实体店的销售终端POS的访问请求以及用户终端的访问请求,以对实体店系统提供的服务进行压力测试。
所述服务,包括但不限于以下服务的至少一者:商品下单服务,商品查询服务,商品价格小计服务。
步骤S502:获取压力测试性能指标。
所述压力测试性能指标,包括但不限于:机器性能指标,子系统性能指标,子系统业务指标。
所述子系统业务指标,包括但不限于:商品查询成功率,商品下单成功率,库存占用扣减成功率,配送时间,优惠券使用成功率。
在一个示例中,步骤S502可包括如下子步骤:1)获取所述多个子系统的压力测试日志文件;2)根据所述压力测试日志文件,生成所述压力测试性能指标。
步骤S503:根据所述压力测试性能指标,确定处理策略。
所述处理策略包括业务处理策略和技术处理策略。
所述业务处理策略包括以下策略的至少一项:商品下架,流量限制,仓储子系统异步调用库存子系统扣减实物库存。
在一个示例中,所述压力测试性能指标包括商品访问量;步骤S503包括:确定所述商品访问量达到第一阈值的商品;以及,确定将所述商品下架的业务处理策略。
在一个示例中,所述服务包括商品下单服务;所述压力测试性能指标包括POS订单生成时间;步骤S503包括:若所述POS订单生成时间达到第二阈值、且持续时间达到第三阈值,则确定对所述用户终端的访问请求进行限流的业务处理策略。
在一个示例中,步骤S503采用如下方式:若所述商品下单服务处于所述对所述用户终端的访问请求进行限流的状态、且所述商品下单服务的未处理订单量小于第四阈值,则确定不对所述用户终端的访问请求进行限流的业务处理策略。
在一个示例中,所述服务包括商品下单服务;所述实体店系统包括库存子系统和仓储子系统;所述压力测试性能指标包括所述库存子系统的库存扣减成功率;步骤S503采用如下方式:若所述库存占用扣减成功率小于第五阈值、且持续时间达到第六阈值,则确定处理所述POS的访问请求时仓储子系统开启异步调用库存子系统扣减实物库存的业务处理策略。
所述技术处理策略,包括但不限于以下策略的至少一项:设备下线,设备扩容,设备重启,数据库扩容,缓存扩容,重新部署系统。
在一个示例中,所述实体店系统包括仓储子系统,所述仓储子系统包括悬挂链自动传输设备,所述悬挂链自动传输设备用于传送已拣货商品;所述压力测试性能指标包括所述悬挂链自动传输设备的运行负荷;步骤S503采用如下方式:若所述运行负荷达到第七阈值,则确定暂停所述悬挂链自动传输设备的技术处理策略。
在一个示例中,所述实体店系统包括商品子系统;所述压力测试性能指标包括所述商品子系统的商品查询成功率;步骤S503采用如下方式:若所述商品查询成功率小于第八阈值,则确定所述商品子系统启用缓存的技术处理策略。
在一个示例中,步骤S503包括:获取所述压力测试性能指标触发的报警条件;根据报警条件与处理策略之间的对应关系集,获取与所述触发的报警条件对应的处理策略。请参看图6,其为本申请的压力测试方法的实施例的具体流程图。在本实施例中,所述方法还包括如下步骤:
步骤S601:根据所述压力测试性能指标的历史数据和历史处理策略,生成所述对应关系集。
在一个示例中,步骤S601包括如下步骤:1)针对各个历史处理策略,根据与所述历史处理策略相关的所述历史数据,生成与特定设备相关的历史报警条件和历史处理策略之间的历史对应关系;2)将所述历史对应关系作为所述特定设备所属的子系统的所述对应关系。
在一个示例中,步骤S601采用如下方式:将一种服务场景下的所述对应关系作为适用于其它服务场景的所述对应关系。
所述处理策略,可包括:对所述实体店系统包括的多个子系统的多个处理策略;所述多个处理策略包括根据预设调整规则调整所述多个子系统的处理策略。
步骤S504:指示所述实体店系统执行所述处理策略。
在一个示例中,确定所述一个压力档位的测试成功,可采用如下方式:若在测试过程中,持续未触发报警条件的时长达到时长阈值,则确定测试成功。
在一个示例中,所述方法还包括:若所述处理策略为停止压力测试,则停止对所述服务的压力测试;模拟所述销售终端POS的访问请求以及所述用户终端的访问请求,对其它服务进行压力测试。
在一个示例中,所述方法还包括如下步骤:1)获取实体店系统包括的各个子系统的压力测试日志文件;2)根据所述压力测试日志文件,生成压力测试报告。
从上述实施例可以看出,本申请实施例提供的压力测试方法,模拟实体店的销售终端POS的访问请求以及用户终端的访问请求,以对实体店系统提供的服务进行压力测试,在对被测服务进行压力测试时,实时获取实体店系统的压力测试性能指标,并根据压力测试性能指标确定对实体店系统的处理策略,指示实体店系统执行处理策略。由于能够对线上用户和线下用户并发访问的实体店系统进行压力测试,且整个压力测试任务能够自动运行,且可避免一个问题点的出现中断整个压力测试任务;因此,可以有效测试实体店系统,降低压力测试成本,提升测试效率。
请参考图7,其为本申请的电子设备实施例的示意图。由于设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的设备实施例仅仅是示意性的。
本实施例的一种电子设备,该电子设备包括:处理器701;以及存储器702,所述存储器用于存储实现压力测试方法的程序,该设备通电并通过所述处理器运行该压力测试方法的程序后,执行下述步骤:模拟实体店的销售终端POS的访问请求以及用户终端的访问请求,以对实体店系统提供的服务进行压力测试;获取压力测试性能指标;根据所述压力测试性能指标,确定处理策略;指示所述实体店系统执行所述处理策略。
与上述的一种压力测试系统相对应,本申请还提供一种压力测试系统。请参考图8,其为本申请提供的一种压力测试系统实施例的结构示意图,本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。本申请提供的一种压力测试系统包括:压力测试子系统801、性能监控子系统802和运营维护子系统803。
其中,所述压力测试子系统801,用于在对被测对象进行压力测试过程中,接收所述性能监控子系统802发送的报警信息,其中,所述报警信息包括所述被测对象的调用链上各个子系统的性能指标触发的报警条件的信息;以及,根据与所述报警条件对应的处理策略,指示所述运营维护子系统803执行所述处理策略;以及,若确定一个压力档位的测试成功,则对所述被测对象进行下一个压力档位的测试,直至达到目标压力值。
所述被测对象,可以是面向用户的应用程序,也可以是面向其它程序的应用程序等等。以淘宝网为例,被测对象可以是网站提供的商品下单服务,为确保现场多用户并发下单时的系统稳定性,需要对商品下单服务进行压力测试,根据测试结果数据反映系统的支撑能力。以盒马应用为例,被测对象可以是实体店系统向线上用户和线下用户提供的商品下单服务、商品查询服务等等。
所述性能指标包括但不限于:机器性能指标,子系统性能指标,子系统业务指标。所述子系统业务指标包括但不限于:POS商品查询成功率,POS商品下单成功率,库存占用扣减成功率,配送时间,优惠券使用成功率。
在一个示例中,被测对象是实体店系统向线上用户和线下用户提供的商品查询服务;该服务的调用链涉及商品子系统;所述报警条件包括:所述商品子系统的访问量大于访问量阈值和/或商品查询时间大于第一时长阈值,作为第一报警条件;与所述第一报警条件对应的所述处理策略包括:商品子系统启用缓存。
在另一个示例中,被测对象是实体店系统向线上用户和线下用户提供的商品查询服务;该服务的调用链涉及库存子系统;所述报警条件包括:所述库存子系统的库存扣减成功率小于比率阈值、且持续时间达到第二时长阈值,作为第二报警条件;与所述第二报警条件对应的所述处理策略包括:停止压力测试或重新部署库存子系统。
所述处理策略,包括但不限于以下策略的至少一项:对子系统进行机器扩容,对子系统进行数据库扩容,对子系统进行缓存扩容,对子系统进行机器升级,对子系统进行业务调整优化(如商品下架、流量限制、启用缓存等),将子系统下线,重新部署子系统等等。
所述报警条件与处理策略之间的对应关系集,可以采用人工方式进行设置,也可以基于被测对象的调用链上的各个子系统的历史性能数据,以及历史处理策略,自动分析获得。
请参考图9,其为本申请提供的一种压力测试系统实施例的具体结构示意图。在本事示例中,所述压力测试系统还包括:对应关系生成子系统901,用于从性能监控子系统802获取所述性能指标的历史数据(即历史性能指标),以及,从运营维护子系统803获取所述处理策略的历史数据(即历史处理策略),根据历史性能指标和历史处理策略,生成所述对应关系集,并将所述对应关系同步至压力测试子系统801。
所述性能监控子系统802,用于获取所述性能指标;以及,若所述性能指标达到所述报警条件,则向所述压力测试子系统801发送所述报警信息。
所述运营维护子系统803,用于根据所述压力测试子系统801的指示,对所述子系统执行所述处理策略。
在一个示例中,所述报警条件涉及多个子系统的多个性能指标,与该类报警条件对应的处理策略包括:对至少一个子系统的处理策略。所述对至少一个子系统的处理策略可包括同步调整多个子系统的处理策略。
在一个示例中,所述压力测试子系统,还用于在获取到与所述报警条件对应的处理策略为停止压力测试时,停止对被测对象的压力测试。例如,针对报警条件:交易子系统和库存子系统都有CPU利用率大于90的机器,其处理策略为:停止压力测试。
在另一个示例中,所述压力测试子系统,还用于在停止对正在测试的被测对象的压力测试之后,对其它被测对象进行压力测试,或者根据其它目标压力值对继续对正在测试的被测对象进行压力测试。采用这种处理方式,使得遇到被测对象出现问题时,能够切换到其它服务(场景)继续进行压力测试,降低一个问题点导致全部场景压力测试停止的问题;因此,可以有效提高测试效率。
在另一个示例中,所述压力测试子系统,还用于获取所述子系统的压力测试日志文件;以及,根据所述压力测试日志文件,生成压力测试报告。
在一个示例中,所述确定所述一个压力档位的测试成功,可采用如下方式:若在测试过程中,持续未触发所述报警条件的时长达到时长阈值,则确定测试成功。其中,所述时长阈值可根据经验进行设置,例如,设置为5分钟等等。
在一个示例中,所述获取所述性能指标,可包括如下步骤:1)获取所述子系统的压力测试日志文件;2)根据所述压力测试日志文件,生成所述性能指标。
从上述实施例可以看出,本发明实施例提供的压力测试系统,通过模拟用户对被测对象进行压力测试,在对被测对象进行压力测试时,实时获取被测对象的调用链上各个子系统的性能指标;若所述性能指标达到报警条件,则根据报警条件与处理策略之间的对应关系集,获取与所述报警条件对应的处理策略;根据所述处理策略,调整所述子系统;以及,若确定一个压力档位的测试成功,则对被测对象进行下一个压力档位的测试,直至达到目标压力值;这种处理方式,使得整个压力测试任务能够自动运行,无需或极少人工干预,且当全链路上的任意一个子系统出现问题时,能够自动发现问题,自动确定问题的处理策略,并实时根据处理策略对子系统进行调整,避免一个问题点中断整个压力测试任务;因此,可以有效降低测试成本,提升测试效率。
与上述的一种压力测试系统相对应,本申请还提供一种压力测试方法。请参考图9,其为本申请提供的一种压力测试方法实施例的流程图,本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。本申请提供的一种压力测试方法包括:
步骤S1001:模拟被测对象调用者的调用指令,以对所述被测对象进行压力测试。
步骤S1002:实时获取所述被测对象的调用链上各个子系统的性能指标。
可选的,所述性能指标包括:机器性能指标,子系统性能指标,子系统业务指标。
步骤S1003:若所述性能指标达到报警条件,则根据报警条件与处理策略之间的对应关系集,获取与所述报警条件对应的处理策略。
可选的,所述报警条件包括多个子系统的性能指标,与包括多个子系统的性能指标的报警条件对应的处理策略包括:对至少一个子系统的处理策略。
可选的,所述对至少一个子系统的处理策略包括同步调整多个子系统的处理策略。
可选的,所述处理策略包括:对子系统进行机器下线,对子系统进行机器扩容,对子系统进行数据库扩容,对子系统进行缓存扩容,对子系统进行机器重启,重新部署子系统。
步骤S1004:根据所述处理策略,调整所述子系统。
在一个示例中,确定一个压力档位的测试成功,采用如下方式:若在所述一个压力档位的测试过程中,持续未触发所述报警条件的时长达到时长阈值,则确定测试成功。
从上述实施例可以看出,本发明实施例提供的压力测试方法,通过模拟用户对被测对象进行压力测试,在对被测对象进行压力测试时,实时获取被测对象的调用链上各个子系统的性能指标;若所述性能指标达到报警条件,则根据报警条件与处理策略之间的对应关系集,获取与所述报警条件对应的处理策略;根据所述处理策略,调整所述子系统;以及,若确定一个压力档位的测试成功,则对被测对象进行下一个压力档位的测试,直至达到目标压力值;这种处理方式,使得整个压力测试任务能够自动运行,无需或极少人工干预,且当全链路上的任意一个子系统出现问题时,能够自动发现问题,自动确定问题的处理策略,并实时根据处理策略对子系统进行调整,避免一个问题点中断整个压力测试任务;因此,可以有效降低测试成本,提升测试效率。
请参看图11,其为本申请的压力测试装置的实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本申请另外提供一种压力测试装置,包括:
压力测试单元1101,用于模拟被测对象调用者的调用指令,以对所述被测对象进行压力测试;
性能指标获取单元1102,用于实时获取所述被测对象的调用链上各个子系统的性能指标;
处理策略获取单元1103,用于若所述性能指标达到报警条件,则根据报警条件与处理策略之间的对应关系集,获取与所述报警条件对应的处理策略;
子系统调整单元1104,用于根据所述处理策略,调整所述子系统。
从上述实施例可以看出,本发明实施例提供的压力测试装置,通过模拟用户对被测对象进行压力测试,在对被测对象进行压力测试时,实时获取被测对象的调用链上各个子系统的性能指标;若所述性能指标达到报警条件,则根据报警条件与处理策略之间的对应关系集,获取与所述报警条件对应的处理策略;根据所述处理策略,调整所述子系统;以及,若确定一个压力档位的测试成功,则对被测对象进行下一个压力档位的测试,直至达到目标压力值;这种处理方式,使得整个压力测试任务能够自动运行,无需或极少人工干预,且当全链路上的任意一个子系统出现问题时,能够自动发现问题,自动确定问题的处理策略,并实时根据处理策略对子系统进行调整,避免一个问题点中断整个压力测试任务;因此,可以有效降低测试成本,提升测试效率。
请参考图12,其为本申请的电子设备实施例的示意图。由于设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的设备实施例仅仅是示意性的。
本实施例的一种电子设备,该电子设备包括:处理器1201;以及存储器1202,
所述存储器用于存储实现压力测试方法的程序,该设备通电并通过所述处理器运行该压力测试方法的程序后,执行下述步骤:模拟被测对象调用者的调用指令,以对所述被测对象进行压力测试;实时获取所述被测对象的调用链上各个子系统的性能指标;若所述性能指标达到报警条件,则根据报警条件与处理策略之间的对应关系集,获取与所述报警条件对应的处理策略;根据所述处理策略,调整所述子系统。
在一个示例中,所述电子设备通过所述处理器运行该压力测试方法的程序后,执行如下具体步骤:获取对被测对象进行压力测试的目标压力值;根据所述目标压力值,逐个压力档位对所述被测对象进行压力测试;其中,在任意一个压力档位的测试过程中,执行如下步骤:实时获取所述被测对象的调用链上各个子系统的性能指标;若所述性能指标达到报警条件,则根据报警条件与处理策略之间的对应关系集,获取与所述报警条件对应的处理策略;根据所述处理策略,调整所述子系统;若确定所述一个压力档位的测试成功且未达到所述目标压力值,则根据压力档位顺序,对所述被测对象进行下一个压力档位的测试。本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (35)

1.一种压力测试系统,其特征在于,包括:
压力测试子模块,用于模拟实体店的销售终端POS的访问请求以及用户终端的访问请求,以对实体店系统提供的服务进行压力测试;所述服务包括:商品下单服务,商品查询服务,和/或商品价格小计服务;性能监控子模块,用于获取压力测试性能指标;处理策略子模块,用于获取所述压力测试性能指标触发的报警条件,根据报警条件与处理策略之间的对应关系集,获取与所述触发的报警条件对应的处理策略;
对应关系生成子模块,用于根据所述压力测试性能指标的历史数据和历史处理策略,生成所述对应关系集;运营维护子模块,用于指示所述实体店系统执行所述处理策略;
所述压力测试子模块,还用于若所述处理策略为停止压力测试,则停止对当前被测服务的压力测试;以及,模拟所述销售终端POS的访问请求以及所述用户终端的访问请求,对所述实体店系统提供的所述当前被测服务以外的服务进行压力测试。
2.根据权利要求1所述的系统,其特征在于,所述处理策略包括业务处理策略和技术处理策略。
3.根据权利要求2所述的系统,其特征在于,所述业务处理策略包括:商品下架,流量限制,和/或仓储子系统异步调用库存子系统扣减实物库存。
4.根据权利要求2所述的系统,其特征在于,
所述压力测试性能指标包括商品访问量;
所述处理策略子模块,具体用于确定所述商品访问量达到第一阈值的商品,并确定将所述商品下架的业务处理策略。
5.根据权利要求2所述的系统,其特征在于,
所述服务包括商品下单服务;
所述压力测试性能指标包括POS订单生成时间;
所述处理策略子模块,具体用于若所述POS订单生成时间达到第二阈值, 且持续时间达到第三阈值,则确定对所述用户终端的访问请求进行限流的业务处理策略。
6.根据权利要求5所述的系统,其特征在于,
所述处理策略子模块,还具体用于若所述商品下单服务处于所述对所述用户终端的访问请求进行限流的状态, 且所述商品下单服务的未处理订单量小于第四阈值,则确定不对所述用户终端的访问请求进行限流的业务处理策略。
7.根据权利要求2所述的系统,其特征在于,
所述服务包括商品下单服务;
所述实体店系统包括库存子系统和仓储子系统;
所述压力测试性能指标包括所述库存子系统的库存占用扣减成功率;
所述处理策略子模块,具体用于若所述库存占用扣减成功率小于第五阈值, 且持续时间达到第六阈值,则确定处理所述POS的访问请求时仓储子系统开启异步调用库存子系统扣减实物库存的业务处理策略。
8.根据权利要求2所述的系统,其特征在于,所述技术处理策略包括:设备下线,设备扩容,设备重启,数据库扩容,缓存扩容,和/或重新部署系统。
9.根据权利要求2所述的系统,其特征在于,
所述实体店系统包括仓储子系统,所述仓储子系统包括悬挂链自动传输设备,所述悬挂链自动传输设备用于传送已拣货商品;
所述压力测试性能指标包括所述悬挂链自动传输设备的运行负荷;
所述处理策略子模块,具体用于若所述运行负荷达到第七阈值,则确定暂停所述悬挂链自动传输设备的技术处理策略。
10.根据权利要求2所述的系统,其特征在于,
所述实体店系统包括商品子系统;
所述压力测试性能指标包括所述商品子系统的商品查询成功率;
所述处理策略子模块,具体用于若所述商品查询成功率小于第八阈值,则确定所述商品子系统启用缓存的技术处理策略。
11.一种压力测试方法,其特征在于,包括:
模拟实体店的销售终端POS的访问请求以及用户终端的访问请求,以对实体店系统提供的服务进行压力测试;所述服务包括:商品下单服务,商品查询服务,和/或商品价格小计服务;获取压力测试性能指标;
根据所述压力测试性能指标的历史数据和历史处理策略,生成报警条件与处理策略之间的对应关系集;
获取所述压力测试性能指标触发的报警条件;
根据所述对应关系集,获取与所述触发的报警条件对应的处理策略;指示所述实体店系统执行所述处理策略;
若所述处理策略为停止压力测试,则停止对当前被测服务的压力测试;
模拟所述销售终端POS的访问请求以及所述用户终端的访问请求,对所述实体店系统提供的所述当前被测服务以外的服务进行压力测试。
12.根据权利要求11所述的方法,其特征在于,所述处理策略包括业务处理策略和技术处理策略。
13.根据权利要求12所述的方法,其特征在于,所述业务处理策略包括:商品下架,流量限制,和/或仓储子系统异步调用库存子系统扣减实物库存。
14.根据权利要求12所述的方法,其特征在于,
所述压力测试性能指标包括商品访问量;
所述根据所述压力测试性能指标,并确定处理策略,包括:
确定所述商品访问量达到第一阈值的商品;
确定将所述商品下架的业务处理策略。
15.根据权利要求12所述的方法,其特征在于,
所述服务包括商品下单服务;
所述压力测试性能指标包括POS订单生成时间;
所述根据所述压力测试性能指标,并确定处理策略,采用如下方式:
若所述POS订单生成时间达到第二阈值, 且持续时间达到第三阈值,则确定对所述用户终端的访问请求进行限流的业务处理策略。
16.根据权利要求15所述的方法,其特征在于,
所述根据所述压力测试性能指标,并确定处理策略,采用如下方式:
若所述商品下单服务处于所述对所述用户终端的访问请求进行限流的状态, 且所述商品下单服务的未处理订单量小于第四阈值,则确定不对所述用户终端的访问请求进行限流的业务处理策略。
17.根据权利要求12所述的方法,其特征在于,
所述服务包括商品下单服务;
所述实体店系统包括库存子系统和仓储子系统;
所述压力测试性能指标包括所述库存子系统的库存占用扣减成功率;
所述根据所述压力测试性能指标,并确定处理策略,采用如下方式:
若所述库存占用扣减成功率小于第五阈值, 且持续时间达到第六阈值,则确定处理所述POS的访问请求时仓储子系统开启异步调用库存子系统扣减实物库存的业务处理策略。
18.根据权利要求12所述的方法,其特征在于,所述技术处理策略包括:设备下线,设备扩容,设备重启,数据库扩容,缓存扩容,和/或重新部署系统。
19.根据权利要求12所述的方法,其特征在于,
所述实体店系统包括仓储子系统,所述仓储子系统包括悬挂链自动传输设备,所述悬挂链自动传输设备用于传送已拣货商品;
所述压力测试性能指标包括所述悬挂链自动传输设备的运行负荷;
所述根据所述压力测试性能指标,并确定处理策略,采用如下方式:
若所述运行负荷达到第七阈值,则确定暂停所述悬挂链自动传输设备的技术处理策略。
20.根据权利要求12所述的方法,其特征在于,
所述实体店系统包括商品子系统;
所述压力测试性能指标包括所述商品子系统的商品查询成功率;
所述根据所述压力测试性能指标,并确定处理策略,采用如下方式:
若所述商品查询成功率小于第八阈值,则确定所述商品子系统启用缓存的技术处理策略。
21.根据权利要求11所述的方法,其特征在于,
所述根据所述压力测试性能指标的历史数据和历史处理策略,并生成所述对应关系集,包括:
针对各个历史处理策略,根据与所述历史处理策略相关的所述历史数据,生成与特定设备相关的历史报警条件和历史处理策略之间的历史对应关系;
将所述历史对应关系作为所述特定设备所属的子系统的所述对应关系。
22.根据权利要求11所述的方法,其特征在于,所述压力测试性能指标包括:机器性能指标,子系统性能指标,和/或子系统业务指标。
23.根据权利要求22所述的方法,其特征在于,所述子系统业务指标包括:商品查询成功率,商品下单成功率,库存占用扣减成功率,配送时间,和/或优惠券使用成功率。
24.根据权利要求11所述的方法,其特征在于,
所述处理策略包括:对所述实体店系统包括的多个子系统的多个处理策略;
所述多个处理策略包括根据预设调整规则调整所述多个子系统的处理策略。
25.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储实现压力测试方法的程序,该设备通电并通过所述处理器运行该压力测试方法的程序后,执行下述步骤:模拟实体店的销售终端POS的访问请求以及用户终端的访问请求,以对实体店系统提供的服务进行压力测试;所述服务包括:商品下单服务,商品查询服务,和/或商品价格小计服务;获取压力测试性能指标;根据所述压力测试性能指标的历史数据和历史处理策略,生成报警条件与处理策略之间的对应关系集;获取所述压力测试性能指标触发的报警条件;根据所述对应关系集,获取与所述触发的报警条件对应的处理策略;指示所述实体店系统执行所述处理策略;若所述处理策略为停止压力测试,则停止对当前被测服务的压力测试;模拟所述销售终端POS的访问请求以及所述用户终端的访问请求,对所述实体店系统提供的所述当前被测服务以外的服务进行压力测试。
26.一种压力测试系统,其特征在于,包括:压力测试子系统, 性能监控子系统和运营维护子系统;
其中,所述压力测试子系统,用于在对被测对象进行压力测试过程中,接收所述性能监控子系统发送的报警信息,其中,所述报警信息包括所述被测对象的调用链上各个子系统的性能指标触发的报警条件的信息;以及,根据与所述报警条件对应的处理策略,指示所述运营维护子系统执行所述处理策略;以及,若确定一个压力档位的测试成功,则对所述被测对象进行下一个压力档位的测试,直至达到目标压力值;
所述性能监控子系统,用于获取所述性能指标;以及,若所述性能指标达到所述报警条件,则向所述压力测试子系统发送所述报警信息;
所述运营维护子系统,用于根据所述压力测试子系统的指示,对所述子系统执行所述处理策略;
所述压力测试子系统,还用于若所述报警条件对应的处理策略为停止压力测试,则停止对当前测试的被测对象的压力测试;对当前测试的被测对象以外的被测对象进行压力测试,或者根据当前的目标压力值以外的目标压力值对所述当前测试的被测对象进行压力测试。
27.根据权利要求26所述的系统,其特征在于,所述性能指标包括:机器性能指标,子系统性能指标,和/或子系统业务指标。
28.根据权利要求26所述的系统,其特征在于,
所述报警条件包括多个子系统的性能指标,与包括多个子系统的性能指标的报警条件对应的处理策略包括:对至少一个子系统的处理策略。
29.根据权利要求28所述的系统,其特征在于,所述对至少一个子系统的处理策略包括根据预设调整规则调整多个子系统的处理策略。
30.根据权利要求26所述的系统,其特征在于,所述处理策略包括:对子系统进行机器下线,对子系统进行机器扩容,对子系统进行数据库扩容,对子系统进行缓存扩容,对子系统进行机器重启,对子系统进行业务调整,和/或重新部署子系统。
31.根据权利要求26所述的系统,其特征在于,还包括:对应关系生成子系统;
所述对应关系生成子系统,用于通过所述性能监控子系统获取所述性能指标的历史数据,以及,通过所述运营维护子系统获取历史处理策略;
根据所述性能指标的历史数据和所述历史处理策略,生成所述报警条件与所述处理策略之间的对应关系集。
32.根据权利要求26所述的系统,其特征在于,所述压力测试子系统确定一个访问量档位的测试成功,采用如下方式:
若在一个访问量档位的测试过程中,持续未接收到所述报警信息的时间达到第三阈值,则确定所述压力档位的测试成功。
33.一种压力测试方法,其特征在于,包括:
模拟被测对象调用者的调用指令,以对所述被测对象进行压力测试;
实时获取所述被测对象的调用链上各个子系统的性能指标;
若所述性能指标达到报警条件,则根据报警条件与处理策略之间的对应关系集,获取与所述报警条件对应的处理策略;
根据所述处理策略,调整所述子系统;
若所述报警条件对应的处理策略为停止压力测试,则停止对当前测试的被测对象的压力测试;对当前测试的被测对象以外的被测对象进行压力测试,或者根据当前的目标压力值以外的目标压力值对所述当前测试的被测对象进行压力测试。
34.一种压力测试装置,其特征在于,包括:
压力测试单元,用于模拟被测对象调用者的调用指令,以对所述被测对象进行压力测试;
性能指标获取单元,用于实时获取所述被测对象的调用链上各个子系统的性能指标;
处理策略获取单元,用于若所述性能指标达到报警条件,则根据报警条件与处理策略之间的对应关系集,获取与所述报警条件对应的处理策略;
子系统调整单元,用于根据所述处理策略,调整所述子系统;
停止压力测试的策略处理单元,用于若所述报警条件对应的处理策略为停止压力测试,则停止对当前测试的被测对象的压力测试;对当前测试的被测对象以外的被测对象进行压力测试,或者根据当前的目标压力值以外的目标压力值对所述当前测试的被测对象进行压力测试。
35.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储实现压力测试方法的程序,该设备通电并通过所述处理器运行该压力测试方法的程序后,执行下述步骤:模拟被测对象调用者的调用指令,以对所述被测对象进行压力测试;实时获取所述被测对象的调用链上各个子系统的性能指标;若所述性能指标达到报警条件,则根据报警条件与处理策略之间的对应关系集,获取与所述报警条件对应的处理策略;根据所述处理策略,调整所述子系统;若所述报警条件对应的处理策略为停止压力测试,则停止对当前测试的被测对象的压力测试;对当前测试的被测对象以外的被测对象进行压力测试,或者根据当前的目标压力值以外的目标压力值对所述当前测试的被测对象进行压力测试。
CN201810433782.6A 2018-05-08 2018-05-08 压力测试系统、方法、装置及电子设备 Active CN110458379B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810433782.6A CN110458379B (zh) 2018-05-08 2018-05-08 压力测试系统、方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810433782.6A CN110458379B (zh) 2018-05-08 2018-05-08 压力测试系统、方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN110458379A CN110458379A (zh) 2019-11-15
CN110458379B true CN110458379B (zh) 2022-12-27

Family

ID=68480444

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810433782.6A Active CN110458379B (zh) 2018-05-08 2018-05-08 压力测试系统、方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN110458379B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111611121B (zh) * 2020-04-09 2023-11-07 浙江口碑网络技术有限公司 硬件模拟测试方法、装置及设备
CN111813674B (zh) * 2020-07-06 2021-02-23 北京嘀嘀无限科技发展有限公司 分单业务的压测方法、装置、电子设备及存储介质
CN112416725A (zh) * 2020-11-02 2021-02-26 北京三快在线科技有限公司 一种压力测试方法及装置
CN112381322A (zh) * 2020-11-27 2021-02-19 上海九方云智能科技有限公司 基于期权计算波动率指数来进行风险预警的方法及系统
CN112732575A (zh) * 2021-01-08 2021-04-30 北京虹信万达科技有限公司 一种基于信息技术应用创新环境下的业务系统测试方法
CN113342680A (zh) * 2021-06-29 2021-09-03 中国农业银行股份有限公司 异步交易性能测试方法和系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101271423A (zh) * 2008-05-19 2008-09-24 中兴通讯股份有限公司 一种软件接口测试方法及系统
CN105204975A (zh) * 2015-10-08 2015-12-30 上海瀚之友信息技术服务有限公司 基于JavaEE体系架构的性能监控系统及方法
CN105281978A (zh) * 2015-10-23 2016-01-27 小米科技有限责任公司 一种性能测试的方法、装置和系统
CN105577475A (zh) * 2015-12-28 2016-05-11 上海瀚之友信息技术服务有限公司 自动化性能测试系统及方法
CN105808420A (zh) * 2014-12-31 2016-07-27 阿里巴巴集团控股有限公司 健壮性测试过程的实现方法和装置
CN107967204A (zh) * 2017-11-21 2018-04-27 百度在线网络技术(北京)有限公司 线下压测的方法、系统及终端设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013100896A1 (en) * 2011-12-27 2013-07-04 Intel Corporation Methods and apparatus to manage workload memory allocation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101271423A (zh) * 2008-05-19 2008-09-24 中兴通讯股份有限公司 一种软件接口测试方法及系统
CN105808420A (zh) * 2014-12-31 2016-07-27 阿里巴巴集团控股有限公司 健壮性测试过程的实现方法和装置
CN105204975A (zh) * 2015-10-08 2015-12-30 上海瀚之友信息技术服务有限公司 基于JavaEE体系架构的性能监控系统及方法
CN105281978A (zh) * 2015-10-23 2016-01-27 小米科技有限责任公司 一种性能测试的方法、装置和系统
CN105577475A (zh) * 2015-12-28 2016-05-11 上海瀚之友信息技术服务有限公司 自动化性能测试系统及方法
CN107967204A (zh) * 2017-11-21 2018-04-27 百度在线网络技术(北京)有限公司 线下压测的方法、系统及终端设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Application stress testing Achieving cyber security by testing cyber attacks";Al Underbrink;《2012 IEEE Conference on Technologies for Homeland Security (HST)》;20130214;第556-561页 *
"基于SCF平台的Web压力测试工具的设计与实现";倪金超;《中国优秀硕士学位论文全文数据库-信息科技辑》;20180415(第04期);第I139-487页 *

Also Published As

Publication number Publication date
CN110458379A (zh) 2019-11-15

Similar Documents

Publication Publication Date Title
CN110458379B (zh) 压力测试系统、方法、装置及电子设备
CN107729398A (zh) 交易数据自动对账方法、服务器及存储介质
CN109948829B (zh) 一种基于多个售货点的调货方法、电子设备及存储介质
CN108229766B (zh) 一种拣货任务处理方法、装置及系统
CN107451918B (zh) 资产数据管理方法及装置
CN113222581A (zh) 一种连锁零售pos系统
CN106096926B (zh) 事件处理方法、装置、电子装置和存储介质
CN111311360B (zh) 资源的退还方法和装置、存储介质、电子装置
EP4121953A1 (en) Systems, devices, and methods for network management at a point of sale (pos) device
CN112380187A (zh) 库存数据监控方法、装置、计算机设备和存储介质
CN110717701B (zh) 仿真波次生成方法、装置及电子设备
CN115525665A (zh) 一种信息处理方法、装置、电子设备及计算机可读介质
EP1658585A2 (en) Manufacturing units of an item in response to demand for the item projected from page-view date
CN113421111B (zh) 零售小区管理方法、边缘计算服务器及区域服务器
CN111583559B (zh) 订单处理方法、装置和系统
CN110706051B (zh) 一种订单数据聚合方法、装置及服务器
EP1470513A1 (en) System, program and method for determining optimal lot size
CN113762890A (zh) 一种基于pda本地存储的货物离线盘点方法及装置
JP4864768B2 (ja) 在庫管理支援装置および在庫管理支援プログラム
CN112598327A (zh) 一种业务处理系统、方法、装置及存储介质
CN111260444B (zh) 一种无货商品的下单方法、装置及计算机系统
CN114463103B (zh) 一种数据处理方法及设备
CN113127129A (zh) 数据初始化方法、装置、计算机设备及可读存储介质
CN110706022A (zh) 在线住宿产品的佣金计算系统、方法及装置
CN117033809A (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
GR01 Patent grant
GR01 Patent grant