CN108512715A - 一种业务链路的负载压力测试方法和相关装置 - Google Patents
一种业务链路的负载压力测试方法和相关装置 Download PDFInfo
- Publication number
- CN108512715A CN108512715A CN201710114959.1A CN201710114959A CN108512715A CN 108512715 A CN108512715 A CN 108512715A CN 201710114959 A CN201710114959 A CN 201710114959A CN 108512715 A CN108512715 A CN 108512715A
- Authority
- CN
- China
- Prior art keywords
- service node
- business datum
- processing
- service
- source business
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
Landscapes
- Engineering & Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供了一种业务链路的负载压力测试方法和相关装置,所述业务链路包括至少两个具有执行顺序的业务节点,每个业务节点具有对应的压测参数,所述方法包括:针对任一业务节点、查找适于所述业务节点处理的源业务数据;按照所述业务节点对应的压测参数、将所述源业务数据发送至所述业务节点进行业务处理;接收所述业务节点对所述源业务数据进行业务处理获得的结果数据,作为适于下一业务节点处理的源业务数据。本申请实施例将线下操作用线上模拟,同时能够对多个业务节点进行蓄洪和压测,高仿真地评估***的能力,避免频繁手动采集业务节点所需的数据单独进行负载压力测试,大大提高了操作的简便性,提高了测试效率。
Description
技术领域
本申请涉及计算机处理的技术领域,特别是涉及一种业务链路的负载压力测试方法、一种业务链路的负载压力测试装置、一种装置和一个或多个计算机可读介质。
背景技术
为了保证开发的产品满足上线需求,通常按照设置的测试方案对产品进行各种测试,对可能出现的问题进行分析和评估。
在这些测试中,负载压力测试是一种基本的质量保证行为,它是测试工作的重要一部分,其在一定约束条件下测试***所能承受的并发用户量、运行时间、数据量等性能,以确定***所能承受的负载压力。
负载压力测试有助于确认被测***是否能够支持性能需求,以及预期的负载增长等。
在一个***中,往往包含多个节点需要进行负载压力测试,目标一般是手动采集某个节点所需的数据单独对该节点进行负载压力测试,然后手动采集下一个节点所需的数据单独对该节点进行负载压力测试,操作繁琐,测试效率较低。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种业务链路的负载压力测试方法、一种业务链路的负载压力测试装置、一种装置和一个或多个计算机可读介质。
本申请实施例公开了一种业务链路的负载压力测试方法,所述业务链路包括至少两个具有执行顺序的业务节点,每个业务节点具有对应的压测参数,所述方法包括:
针对任一业务节点、查找适于所述业务节点处理的源业务数据;
按照所述业务节点对应的压测参数、将所述源业务数据发送至所述业务节点进行业务处理;
接收所述业务节点对所述源业务数据进行业务处理获得的结果数据,作为适于下一业务节点处理的源业务数据。
本申请实施例还公开了一种业务链路的负载压力测试装置,所述业务链路包括至少两个具有执行顺序的业务节点,每个业务节点具有对应的压测参数,所述装置包括:
源业务数据查找模块,用于针对任一业务节点、查找适于所述业务节点处理的源业务数据;
源业务数据发送模块,用于按照所述业务节点对应的压测参数、将所述源业务数据发送至所述业务节点进行业务处理;
结果数据接收模块,用于接收所述业务节点对所述源业务数据进行业务处理获得的结果数据,作为适于下一业务节点处理的源业务数据。
本申请实施例还公开了一种装置,包括:
一个或多个处理器;和
其上存储的一个或多个计算机可读介质中的指令,由所述一个或多个处理器执行时,导致所述装置执行上述的方法。
本申请实施例还公开了一个或多个计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得终端设备执行上述的方法。
本申请实施例包括以下优点:
在本申请实施例中,业务链路包括至少两个具有执行顺序的业务节点,针对任一业务节点、查找适于该业务节点处理的源业务数据,按照相应的压测参数、将源业务数据发送至该业务节点进行业务处理,并接收当前业务节点对所述源业务数据进行业务处理获得的结果数据,作为适于下一业务节点处理的源业务数据,在全链路压测的基础上,对业务节点进行串联和整合,将实操的操作,用***来实现,相当于将线下操作用线上模拟,同时能够对多个业务节点进行蓄洪和压测,高仿真地评估***的能力,避免频繁手动采集业务节点所需的数据单独进行负载压力测试,大大提高了操作的简便性,提高了测试效率。
附图说明
图1是本申请实施例的一种业务链路的负载压力测试方法的步骤流程图;
图2是本申请实施例的一种WMS的业务处理的流程图;
图3是本申请实施例的一种***架构图;
图4是本申请一个实施例的一种业务链路的负载压力测试装置的结构框图;
图5示意性地示出了可被用于实现本公开中所述的各个实施例的示例性***。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请实施例的一种业务链路的负载压力测试方法的步骤流程图。
在本申请实施例中,业务链路包括至少两个具有执行顺序的业务节点,其中,业务链路可以指完成某个业务需求的***,业务节点可以指进行业务实际操作的节点。
在业务链路中排序在后的业务节点依赖排序在前的业务节点,即排序在后的业务节点所提供的服务,依赖于排序在前的业务节点的所提供的服务而实现。
例如,在WMS(Warehouse Management System,仓库管理***)中,下发销售订单出库的节点可以为业务节点、对订单进行预处理和波次汇总的节点也可以为业务节点,等等,这些业务节点可以提供入库业务、出库业务、仓库调拨、库存调拨和虚仓管理等功能,对批次管理、物料对应、库存盘点、质检管理、虚仓管理和即时库存管理等功能综合运用。
参照图1,本申请实施例具体可以包括如下步骤:
步骤101,针对任一业务节点、查找适于所述业务节点处理的源业务数据。
在具体实现中,本申请实施例可以应用在服务器中,该服务器可以为单独的服务器,也可以为服务器集群,例如,分布式***,等等,本申请实施例对此不加以限制。
对于不同业务领域而言,由于具有不同的业务特性,因此,对于不同的业务节点,通常适于处理不同形式的业务数据。
例如,对于新闻媒体领域而言,某些业务节点适于处理新闻数据;对于移动通讯领域而言,某些业务节点适于处理移动通讯数据;对于电子商务(Electronic Commerce,EC)领域而言,某些业务节点适于处理订单数据,等等。
在本申请实施例中,可以针对每个业务节点配置相应的场景信息,可以根据该场景信息对该业务节点进行负载压力测试。
在一个示例中,场景信息可以包括如下的一种或多种:
场景名称,场景编码,调用类型,事务处理频率,请求包间隔,数据可否重用,取数据间隔,取数据量,队列长度,是否回填结果,回填记录数,是否打印日志。
在实际应用中,可以调用多个压力测试单元,该压力测试单元可以为虚拟机,也可以为独立的进程,等等,本申请实施例对此不加以限制。
针对任一业务节点,将适于业务节点处理的源业务数据存储至多个压力测试单元中,例如,存储至内存中的队列中,该队列的长度可以由场景信息中的队列长度确定。
在一种情景中,若任一业务节点为首个业务节点,从预置的业务数据中查找业务节点对应的目标业务数据,作为适于当前业务节点处理的源业务数据。
应用本申请实施例,可以在该服务器的数据库中预置业务数据,该业务数据可以为一次性的业务数据,即某个特定的业务节点使用的业务数据,也可以为重复使用的业务数据,即多个业务节点使用的业务数据,这个特性可以由场景信息中的数据可否重用确定。
如果当前业务节点为首个业务节点,则可以从数据库中读取待该业务节点处理的目标业务数据,作为源业务数据。
在另一种情景中,若任一业务节点为非首个业务节点,查找上一业务节点返回的结果数据、作为适于业务节点处理的源业务数据。
在此情境中,由于排序在后的业务节点依赖排序在前的业务节点,因此,可以收纳上一业务节点处理上一源业务数据之后返回的结果数据,作为待当前业务节点处理的源业务数据。
在另一种情景中,若任一业务节点为非首个业务节点:
一方面,从预置的业务数据中查找所述业务节点待处理的目标业务数据。
另一方面,查找上一业务节点返回的结果数据。
将目标业务数据、结果数据设置为适于当前业务节点处理的源业务数据。
在此情境中,当前业务节重复使用在服务器的数据库中预置的业务数据或者具有一次性使用的业务数据(即目标业务数据),因此,可以收纳上一业务节点处理上一源业务数据之后返回的结果数据、重复使用的业务数据或一次性使用的业务数据,作为待当前业务节点处理的源业务数据。
步骤102,按照所述业务节点对应的压测参数、将所述源业务数据发送至所述业务节点进行业务处理。
在本申请实施例中,每个业务节点具有对应的压测参数。
在一种实施方式中,可以从场景信息中读取该业务节点对应的压测参数,该压测参数为部分或全部控制负载压力测试的参数。
在具体实现中,可以按照当前业务节点对应的压测参数、将源业务数据发送至当前业务节点进行负载压力测试,当前业务节点运行自身逻辑,对该源业务数据进行相应的业务处理。
在本申请的一个实施例中,源业务数据存储在多个压力测试单元中,压测参数包括事务处理频率,则在本申请实施例中,步骤103可以包括如下子步骤:
子步骤S11,将所述事务处理频率配置给所述多个压力测试单元,得到每个压力测试单元的子事务处理频率。
子步骤S12,调用每个压力测试单元按照所述子事务处理频率将存储的源业务数据发送至当前业务节点进行业务处理。
在本申请实施例中,将业务节点的事务处理频率(如TPS(Transactions PerSecond,每秒钟事务数量))分摊到每个压力测试单元的子事务处理频率(如TPS),使得每个压力测试单元可以分摊负载压力测试的压力。
需要说明的是,多个压力测试单元的子事务处理频率之和,等于事务处理频率。
例如,业务节点的TPS为200,有4太压力测试单元,则每台压力测试单元分摊到的TPS为50。
在本申请实施例的一个示例中,子步骤S12进一步可以包括如下子步骤:
子步骤S121,按照所述子事务处理频率在每个压力测试单元中启动多个线程。
子步骤S122,调用每个线程每间隔一定的间隔时间,将存储的源业务数据发送至所述业务节点进行业务处理。
在本示例中,每台压力测试单元可以通过多线程的方式进行压力的释放。
在本申请的另一个实施例中,压测参数包括协议类型,该协议类型可以由情景信息中的调用类型确定,则在本申请实施例中,步骤103可以包括如下子步骤:
子步骤S21,将所述源业务数据按照所述协议类型转换为所述业务节点可读的源业务数据。
子步骤S22,将所述可读的源业务数据发送至所述业务节点进行业务处理。
在实际应用中,各个业务节点使用的协议可能有所不同,例如,HSF(分布式服务开发框架)、HTTP(HyperText Transfer Protocol,超文本传输协议),等等。
因此,可以按照当前业务节点使用的协议,将源业务数据转换为当前业务节点可读的源业务数据,以支持当前业务节点进行业务处理。
当然,上述压测参数及其处理方式只是作为示例,在实施本申请实施例时,可以根据实际情况设置其他压测参数及其处理方式,本申请实施例对此不加以限制。另外,除了上述压测参数及其处理方式外,本领域技术人员还可以根据实际需要采用其它压测参数及其处理方式,本申请实施例对此也不加以限制。
步骤103,接收当前业务节点对所述源业务数据进行业务处理获得的结果数据,作为适于下一业务节点处理的源业务数据。
在本申请实施例中,当前业务节点对源业务数据进行业务处理,可以获得结果数据,该结果数据回传至服务器。
服务器接收该结果数据,存储至数据库中,为下一个业务节点的负载压力测试的源业务数据准备。
在具体实现中,服务器可以通过HSF、MetaQ(Metamorphosis)等消息中间件收纳当前业务节点返回的结果数据。
在本申请实施例中,业务链路包括至少两个具有执行顺序的业务节点,针对任一业务节点、查找适于该业务节点处理的源业务数据,按照相应的压测参数、将源业务数据发送至该业务节点进行业务处理,并接收当前业务节点对所述源业务数据进行业务处理获得的结果数据,作为适于下一业务节点处理的源业务数据,在全链路压测的基础上,对业务节点进行串联和整合,将实操的操作,用***来实现,相当于将线下操作用线上模拟,同时能够对多个业务节点进行蓄洪和压测,高仿真地评估***的能力,避免频繁手动采集业务节点所需的数据单独进行负载压力测试,大大提高了操作的简便性,提高了测试效率。
为使本领域技术人员更好地理解本申请实施例,以下通过具体的示例来说明本申请实施例中的负载压力测试方法。
如图2所示,在WMS***中,通常可以包括如下业务处理:
步骤201,接收并存储上位***(如购物***)的原始订单数据。
步骤202,自动运行预处理和波次计算。
步骤203,波次计算并生成结果。
步骤204,生成补货任务。
步骤205,生成拣货任务。
步骤206,打印波次文档——***、***单、面单、清单信息。
步骤207,执行补货任务进行补货。
步骤208,按照拣货任务拣选货物。
步骤209,对货物进行质检。
步骤210,对货物进行包装、称重,批次出货。
步骤211,按照地区(例如本市区、外省)进行分类。
步骤212,将货物装车出库。
在这些业务处理中,与接收并存储上位***的订单数据相关的节点可以形成一个业务节点(设为第一业务节点),与预处理和波次处理相关的节点可以形成一个业务节点(设为第二业务节点),与拣选货物相关的节点可以形成一个业务节点(设为第三业务节点),与质检相关的节点可以形成一个业务节点(设为第四业务节点),与出库相关的节点可以形成一个业务节点(设为第五业务节点)。
第五业务节点依赖第四业务节点,第四业务节点依赖第三业务节点,第三业务节点依赖第二业务节点,第二业务节点依赖第一业务节点。
因此,这五个业务节点可以形成一条业务链路,依次排序为:
第一业务节点、第二业务节点、第三业务节点、第四业务节点、第五业务节点
如图3所示,假设上述业务链路320进行压力负载测试,业务节点321为第一业务节点、业务节点322为第二业务节点、业务节点323为第三业务节点,等等。
在压测***310中部署有控制台311、数据库312、多个压力测试单元313。
其中,在数据库312存储有适于业务节点321处理的原始订单数据(即源业务数据)。
控制台311控制各个压力测试单元313进行蓄洪,压力测试单元313从数据库312中提取原始订单数据,并存储至内存的队列3131中。
若到达一定水位量(即队列3131中的原始订单数据存储至一定的数据量),则控制台311控制各个压力测试单元313进行泄洪,也就是释放流量。
在控制台313中,会将压力测试单元313的机器列表和任务推送给压力测试单元313,压力测试单元313收到任务消息后,会根据IP(Internet Protocol,网络之间互连的协议)地址进行匹配,通过hash(哈希值)将需要释放的压力值(TPS)分摊至每台压力测试单元313。
而每台压力测试单元313为一个进程,可以通过多线程的方式进行压力的释放。
业务节点321调用自身的逻辑对原始订单数据进行处理,得到规范化的订单数据,并返回压测***310。
压测***310将规范化的订单数据存储至数据库312,待发送至业务节点322进行预处理和波次处理。
对于业务链路320中的其他业务节点的处理,与对业务节点321的处理类似。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图4,示出了本申请一个实施例的一种业务链路的负载压力测试装置的结构框图,所述业务链路包括至少两个具有执行顺序的业务节点,每个业务节点具有对应的压测参数,所述装置具体可以包括如下模块:
源业务数据查找模块401,用于针对任一业务节点、查找适于所述业务节点处理的源业务数据;
源业务数据发送模块402,用于按照所述业务节点对应的压测参数、将所述源业务数据发送至当前业务节点进行业务处理;
结果数据接收模块403,用于接收当前业务节点对所述源业务数据进行业务处理获得的结果数据,作为适于下一业务节点处理的源业务数据。
在本申请的一个实施例中,所述源业务数据查找模块401包括:
第一查找子模块,用于若任一业务节点为首个业务节点,从预置的业务数据中查找所述业务节点对应的目标业务数据,作为适于所述业务节点处理的源业务数据。
在本申请的另一个实施例中,所述源业务数据查找模块401包括:
第二查找子模块,用于若任一业务节点为非首个业务节点,查找上一业务节点返回的结果数据、作为适于所述业务节点处理的源业务数据;
或者,
第三查找子模块,用于若任一业务节点为非首个业务节点,从预置的业务数据中查找苏搜狐业务节点对应的目标业务数据;
第四查找子模块,用于查找上一业务节点返回的结果数据;
源业务数据设置子模块,用于将所述目标业务数据、所述结果数据设置为适于所述业务节点处理的源业务数据。
在本申请的另一个实施例中,所述源业务数据查找模块401包括:
压力测试单元调用子模块,用于调用多个压力测试单元;
压力测试单元存储子模块,用于针对任一业务节点,将适于所述业务节点处理的源业务数据存储至所述多个压力测试单元中。
在本申请的一个实施例中,所述源业务数据存储在多个压力测试单元中,所述压测参数包括事务处理频率;
所述源业务数据发送模块402包括:
事务处理频率配置子模块,用于将所述事务处理频率配置给所述多个压力测试单元,得到每个压力测试单元的子事务处理频率;
子事务处理频率发送子模块,用于调用每个压力测试单元按照所述子事务处理频率将存储的源业务数据发送至所述业务节点进行业务处理。
在本申请实施例的一个示例中,所述子事务处理频率发送子模块包括:
多线程启动子模块,用于按照所述子事务处理频率在每个压力测试单元中启动多个线程;
间隔发送子模块,用于调用每个线程每间隔一定的间隔时间,将存储的源业务数据发送至当前业务节点进行业务处理。
在本申请的另一个实施例中,所述压测参数包括协议类型;
所述源业务数据发送模块402包括:
协议转换子模块,用于将所述源业务数据按照所述协议类型转换为所述业务节点可读的源业务数据;
转换发送子模块,用于将所述可读的源业务数据发送至所述业务节点进行业务处理。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开的实施例可被实现为使用任意适当的硬件和/或软件进行想要的配置的***。图5示意性地示出了可被用于实现本公开中所述的各个实施例的示例性***500。
对于一个实施例,图5示出了示例性***500,该***具有一个或多个处理器502、被耦合到(一个或多个)处理器502中的至少一个的***控制模块(芯片组)504、被耦合到***控制模块504的***存储器506、被耦合到***控制模块504的非易失性存储器(NVM)/存储设备508、被耦合到***控制模块504的一个或多个输入/输出设备510,以及被耦合到***控制模块506的网络接口512。
处理器502可包括一个或多个单核或多核处理器,处理器502可包括通用处理器或专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。在一些实施例中,***500能够作为本申请实施例中所述的设备。在其他实施例中,***500能够作为本申请实施例中所述的服务器。
在一些实施例中,***500可包括具有指令的一个或多个计算机可读介质(例如,***存储器506或NVM/存储设备508)以及与该一个或多个计算机可读介质相合并被配置为执行指令以实现模块从而执行本公开中所述的动作的一个或多个处理器502。
对于一个实施例,***控制模块504可包括任意适当的接口控制器,以向(一个或多个)处理器502中的至少一个和/或与***控制模块504通信的任意适当的设备或组件提供任意适当的接口。
***控制模块504可包括存储器控制器模块,以向***存储器506提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
***存储器506可被用于例如为***500加载和存储数据和/或指令。对于一个实施例,***存储器506可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,***存储器506可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,***控制模块504可包括一个或多个输入/输出控制器,以向NVM/存储设备508及(一个或多个)输入/输出设备510提供接口。
例如,NVM/存储设备508可被用于存储数据和/或指令。NVM/存储设备508可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备508可包括在物理上作为***500被安装在其上的设备的一部分的存储资源,或者其可被该设备访问丽不必作为该设备的一部分。例如,NVM/存储设备508可通过网络经由(一个或多个)输入/输出设备510进行访问。
(一个或多个)输入/输出设备510可为***500提供接口以与任意其他适当的设备通信,输入/输出设备510可以包括通信组件、音频组件、传感器组件等。网络接口512可为***500提供接口以通过一个或多个网络通信,***500可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合进行无线通信。
对于一个实施例,(一个或多个)处理器502中的至少一个可与***控制模块504的一个或多个控制器(例如,存储器控制器模块)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器502中的至少一个可与***控制模块504的一个或多个控制器的逻辑封装在一起以形成***级封装(SiP)。对于一个实施例,(一个或多个)处理器502中的至少一个可与***控制模块504的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器502中的至少一个可与***控制模块504的一个或多个控制器的逻辑集成在同一模具上以形成片上***(SoC)。
在各个实施例中,***500可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等设备。在各个实施例中,***500可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,***500包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
其中,如果显示器包括触摸面板,显示屏可以被实现为触屏显示器,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
本申请实施例公开了方法和装置,示例1包括一种业务链路的负载压力测试方法,其中,业务链路包括至少两个具有执行顺序的业务节点,每个业务节点具有对应的压测参数所述方法包括:针对任一业务节点、查找适于所述业务节点处理的源业务数据;按照所述业务节点对应的压测参数、将所述源业务数据发送至所述业务节点进行业务处理;接收所述业务节点对所述源业务数据进行业务处理获得的结果数据,作为适于下一业务节点处理的源业务数据。
示例2包括示例1所述的方法,其中,所述针对当前业务节点、查找适于当前业务节点处理的源业务数据的步骤包括:若任一业务节点为首个业务节点,从预置的业务数据中查找所述业务节点对应的目标业务数据,作为适于所述业务节点处理的源业务数据。
示例3包括示例1所述的方法,其中,所述针对任一业务节点、查找适于所述业务节点处理的源业务数据的步骤包括:若任一业务节点为非首个业务节点,查找上一业务节点返回的结果数据、作为适于所述业务节点处理的源业务数据;或者,若任一业务节点为非首个业务节点,从预置的业务数据中查找所述业务节点对应的目标业务数据;查找上一业务节点返回的结果数据;将所述目标业务数据、所述结果数据设置为适于当前业务节点处理的源业务数据。
示例4包括示例1或2或3所述的方法,其中,所述针对任一业务节点、查找适于所述业务节点处理的源业务数据的步骤包括:调用多个压力测试单元;针对任一业务节点,将适于所述业务节点处理的源业务数据存储至所述多个压力测试单元中。
示例5包括示例1或2或3所述的方法,其中,所述源业务数据存储在多个压力测试单元中,所述压测参数包括事务处理频率;所述按照所述业务节点对应的压测参数、将所述源业务数据发送至所述业务节点进行业务处理的步骤包括:将所述事务处理频率配置给所述多个压力测试单元,得到每个压力测试单元的子事务处理频率;调用每个压力测试单元按照所述子事务处理频率将存储的源业务数据发送至所述业务节点进行业务处理。
示例6包括示例5所述的方法,其中,所述调用每个压力测试单元按照所述子事务处理频率将存储的源业务数据发送至所述业务节点进行业务处理的步骤包括:按照所述子事务处理频率在每个压力测试单元中启动多个线程;调用每个线程每间隔一定的间隔时间,将存储的源业务数据发送至所述业务节点进行业务处理。
示例7包括示例1或2或3所述的方法,其中,所述压测参数包括协议类型;所述按照所述业务节点的压测参数、将所述源业务数据发送至所述业务节点进行业务处理的步骤包括:将所述源业务数据按照所述协议类型转换为所述业务节点可读的源业务数据;将所述可读的源业务数据发送至所述业务节点进行业务处理。
示例8包括一种业务链路的负载压力测试装置,其中,所述业务链路包括至少两个具有执行顺序的业务节点,每个业务节点具有对应的压测参数,所述装置包括:源业务数据查找模块,用于针对任一业务节点、查找适于所述业务节点处理的源业务数据;源业务数据发送模块,用于按照所述业务节点对应的压测参数、将所述源业务数据发送至所述业务节点进行业务处理;结果数据接收模块,用于接收所述业务节点对所述源业务数据进行业务处理获得的结果数据,作为适于下一业务节点处理的源业务数据。
示例9包括示例8所述的装置,其中,所述源业务数据查找模块包括:第一查找子模块,用于若任一业务节点为首个业务节点,从预置的业务数据中查找所述业务节点对应的目标业务数据,作为适于所述业务节点处理的源业务数据。
示例10包括示例8所述的装置,其中,所述源业务数据查找模块包括:第二查找子模块,用于若任一业务节点为非首个业务节点,查找上一业务节点返回的结果数据、作为适于所述业务节点处理的源业务数据;或者,第三查找子模块,用于若任一业务节点为非首个业务节点,从预置的业务数据中查找所述业务节点对应的目标业务数据;第四查找子模块,用于查找上一业务节点返回的结果数据;源业务数据设置子模块,用于将所述目标业务数据、所述结果数据设置为适于所述业务节点处理的源业务数据。
示例11包括示例8或9或10所述的装置,其中,所述源业务数据查找模块包括:压力测试单元调用子模块,用于调用多个压力测试单元;压力测试单元储子模块,用于针对任一业务节点,将适于所述业务节点处理的源业务数据存储至所述多个压力测试单元中。
示例12包括示例8或9或10所述的装置,其中,所述源业务数据存储在多个压力测试单元中,所述压测参数包括事务处理频率;所述源业务数据发送模块包括:事务处理频率配置子模块,用于将所述事务处理频率配置给所述多个压力测试单元,得到每个压力测试单元的子事务处理频率;子事务处理频率发送子模块,用于调用每个压力测试单元按照所述子事务处理频率将存储的源业务数据发送至所述业务节点进行业务处理。
示例13包括示例12所述的装置,其中,所述子事务处理频率发送子模块包括:多线程启动子模块,用于按照所述子事务处理频率在每个压力测试单元中启动多个线程;间隔发送子模块,用于调用每个线程每间隔一定的间隔时间,将存储的源业务数据发送至所述业务节点进行业务处理。
示例14包括示例8或9或10所述的装置,其中,所述压测参数包括协议类型;所述源业务数据发送模块包括:协议转换子模块,用于将所述源业务数据按照所述协议类型转换为所述业务节点可读的源业务数据;转换发送子模块,用于将所述可读的源业务数据发送至所述业务节点进行业务处理。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种业务链路的负载压力测试方法、一种业务链路的负载压力测试装置、一种装置和一个或多个计算机可读介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (16)
1.一种业务链路的负载压力测试方法,其特征在于,所述业务链路包括至少两个具有执行顺序的业务节点,每个业务节点具有对应的压测参数,所述方法包括:
针对任一业务节点、查找适于所述业务节点处理的源业务数据;
按照所述业务节点对应的压测参数、将所述源业务数据发送至所述业务节点进行业务处理;
接收所述业务节点对所述源业务数据进行业务处理获得的结果数据,作为适于下一业务节点处理的源业务数据。
2.根据权利要求1所述的方法,其特征在于,所述针对任一业务节点、查找适于所述业务节点处理的源业务数据的步骤包括:
若任一业务节点为首个业务节点,从预置的业务数据中查找所述业务节点对应的目标业务数据,作为适于所述业务节点处理的源业务数据。
3.根据权利要求1所述的方法,其特征在于,所述针对任一业务节点、查找适于所述业务节点处理的源业务数据的步骤包括:
若任一业务节点为非首个业务节点,查找上一业务节点返回的结果数据、作为适于所述业务节点处理的源业务数据;
或者,
若任一业务节点为非首个业务节点,从预置的业务数据中查找所述业务节点对应的目标业务数据;
查找上一业务节点返回的结果数据;
将所述目标业务数据、所述结果数据设置为适于所述业务节点处理的源业务数据。
4.根据权利要求1或2或3所述的方法,其特征在于,所述针对任一业务节点、查找适于所述业务节点处理的源业务数据的步骤包括:
调用多个压力测试单元;
针对任一业务节点,将适于所述业务节点处理的源业务数据存储至所述多个压力测试单元中。
5.根据权利要求1或2或3所述的方法,其特征在于,所述源业务数据存储在多个压力测试单元中,所述压测参数包括事务处理频率;
所述按照所述业务节点对应的压测参数、将所述源业务数据发送至所述业务节点进行业务处理的步骤包括:
将所述事务处理频率配置给所述多个压力测试单元,得到每个压力测试单元的子事务处理频率;
调用每个压力测试单元按照所述子事务处理频率将存储的源业务数据发送至所述业务节点进行业务处理。
6.根据权利要求5所述的方法,其特征在于,所述调用每个压力测试单元按照所述子事务处理频率将存储的源业务数据发送至所述业务节点进行业务处理的步骤包括:
按照所述子事务处理频率在每个压力测试单元中启动多个线程;
调用每个线程每间隔一定的间隔时间,将存储的源业务数据发送至所述业务节点进行业务处理。
7.根据权利要求1或2或3所述的方法,其特征在于,所述压测参数包括协议类型;
所述按照所述业务节点的压测参数、将所述源业务数据发送至所述业务节点进行业务处理的步骤包括:
将所述源业务数据按照所述协议类型转换为所述业务节点可读的源业务数据;
将所述可读的源业务数据发送至所述业务节点进行业务处理。
8.一种业务链路的负载压力测试装置,其特征在于,所述业务链路包括至少两个具有执行顺序的业务节点,每个业务节点具有对应的压测参数,所述装置包括:
源业务数据查找模块,用于针对任一业务节点、查找适于所述业务节点处理的源业务数据;
源业务数据发送模块,用于按照所述业务节点对应的压测参数、将所述源业务数据发送至所述业务节点进行业务处理;
结果数据接收模块,用于接收所述业务节点对所述源业务数据进行业务处理获得的结果数据,作为适于下一业务节点处理的源业务数据。
9.根据权利要求8所述的装置,其特征在于,所述源业务数据查找模块包括:
第一查找子模块,用于若任一业务节点为首个业务节点,从预置的业务数据中查找所述业务节点对应的目标业务数据,作为适于所述业务节点处理的源业务数据。
10.根据权利要求8所述的装置,其特征在于,所述源业务数据查找模块包括:
第二查找子模块,用于若任一业务节点为非首个业务节点,查找上一业务节点返回的结果数据、作为适于所述业务节点处理的源业务数据;
或者,
第三查找子模块,用于若任一业务节点为非首个业务节点,从预置的业务数据中查找所述业务节点对应的目标业务数据;
第四查找子模块,用于查找上一业务节点返回的结果数据;
源业务数据设置子模块,用于将所述目标业务数据、所述结果数据设置为适于所述业务节点处理的源业务数据。
11.根据权利要求8或9或10所述的装置,其特征在于,所述源业务数据查找模块包括:
压力测试单元调用子模块,用于调用多个压力测试单元;
压力测试单元储子模块,用于针对任一业务节点,将适于所述业务节点处理的源业务数据存储至所述多个压力测试单元中。
12.根据权利要求8或9或10所述的装置,其特征在于,所述源业务数据存储在多个压力测试单元中,所述压测参数包括事务处理频率;
所述源业务数据发送模块包括:
事务处理频率配置子模块,用于将所述事务处理频率配置给所述多个压力测试单元,得到每个压力测试单元的子事务处理频率;
子事务处理频率发送子模块,用于调用每个压力测试单元按照所述子事务处理频率将存储的源业务数据发送至所述业务节点进行业务处理。
13.根据权利要求12所述的装置,其特征在于,所述子事务处理频率发送子模块包括:
多线程启动子模块,用于按照所述子事务处理频率在每个压力测试单元中启动多个线程;
间隔发送子模块,用于调用每个线程每间隔一定的间隔时间,将存储的源业务数据发送至所述业务节点进行业务处理。
14.根据权利要求8或9或10所述的装置,其特征在于,所述压测参数包括协议类型;
所述源业务数据发送模块包括:
协议转换子模块,用于将所述源业务数据按照所述协议类型转换为所述业务节点可读的源业务数据;
转换发送子模块,用于将所述可读的源业务数据发送至所述业务节点进行业务处理。
15.一种装置,其特征在于,包括:
一个或多个处理器;和
其上存储的一个或多个计算机可读介质中的指令,由所述一个或多个处理器执行时,导致所述装置执行如权利要求1-7的方法。
16.一个或多个计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得终端设备执行的权利要求1-7的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710114959.1A CN108512715B (zh) | 2017-02-28 | 2017-02-28 | 一种业务链路的负载压力测试方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710114959.1A CN108512715B (zh) | 2017-02-28 | 2017-02-28 | 一种业务链路的负载压力测试方法和相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108512715A true CN108512715A (zh) | 2018-09-07 |
CN108512715B CN108512715B (zh) | 2021-11-02 |
Family
ID=63374156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710114959.1A Active CN108512715B (zh) | 2017-02-28 | 2017-02-28 | 一种业务链路的负载压力测试方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108512715B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109600571A (zh) * | 2018-12-27 | 2019-04-09 | 北京真视通科技股份有限公司 | 多媒体资源传输测试***和多媒体资源传输测试方法 |
CN109614307A (zh) * | 2018-09-29 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 业务***的线上压力测试的方法、装置及服务器 |
CN109617829A (zh) * | 2018-11-01 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 一种业务请求数据的处理方法、装置及*** |
CN109684211A (zh) * | 2018-12-18 | 2019-04-26 | 北京顺丰同城科技有限公司 | 一种基于店铺维度的订单调度***压力测试方法及装置 |
CN110532168A (zh) * | 2019-07-05 | 2019-12-03 | 中国平安财产保险股份有限公司 | 全链路接口压测方法、装置、计算机设备及存储介质 |
CN110618924A (zh) * | 2019-09-19 | 2019-12-27 | 浙江诺诺网络科技有限公司 | 一种web应用***的链路压力测试方法 |
CN112583669A (zh) * | 2020-12-11 | 2021-03-30 | 北京字节跳动网络技术有限公司 | 线上链路压力测试方法、装置、电子设备及介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050241677A1 (en) * | 2004-05-03 | 2005-11-03 | The Boeing Company | Combined pressure test and clean apparatus |
CN1852180A (zh) * | 2005-12-12 | 2006-10-25 | 华为技术有限公司 | 一种多媒体服务***性能测试方法 |
CN103051500A (zh) * | 2013-01-04 | 2013-04-17 | 北京邮电大学 | 一种服务网络***的测试方法及*** |
CN103544103A (zh) * | 2013-09-02 | 2014-01-29 | 烟台中科网络技术研究所 | 一种软件性能测试模拟并发方法及*** |
CN104461863A (zh) * | 2014-10-29 | 2015-03-25 | 中国建设银行股份有限公司 | 一种业务***测试方法、设备及*** |
CN105159867A (zh) * | 2010-02-12 | 2015-12-16 | 萨思学会有限公司 | 用于在网格计算环境中运算的情景状态处理***和方法 |
CN105335143A (zh) * | 2014-07-30 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 一种业务处理方法及装置 |
CN105573732A (zh) * | 2014-10-14 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 一种基于分布式***的业务对象的处理方法和装置 |
-
2017
- 2017-02-28 CN CN201710114959.1A patent/CN108512715B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050241677A1 (en) * | 2004-05-03 | 2005-11-03 | The Boeing Company | Combined pressure test and clean apparatus |
CN1852180A (zh) * | 2005-12-12 | 2006-10-25 | 华为技术有限公司 | 一种多媒体服务***性能测试方法 |
CN105159867A (zh) * | 2010-02-12 | 2015-12-16 | 萨思学会有限公司 | 用于在网格计算环境中运算的情景状态处理***和方法 |
CN103051500A (zh) * | 2013-01-04 | 2013-04-17 | 北京邮电大学 | 一种服务网络***的测试方法及*** |
CN103544103A (zh) * | 2013-09-02 | 2014-01-29 | 烟台中科网络技术研究所 | 一种软件性能测试模拟并发方法及*** |
CN105335143A (zh) * | 2014-07-30 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 一种业务处理方法及装置 |
CN105573732A (zh) * | 2014-10-14 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 一种基于分布式***的业务对象的处理方法和装置 |
CN104461863A (zh) * | 2014-10-29 | 2015-03-25 | 中国建设银行股份有限公司 | 一种业务***测试方法、设备及*** |
Non-Patent Citations (1)
Title |
---|
李克文等: "基于Web应用的快速压力测试研究", 《微计算机应用》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614307A (zh) * | 2018-09-29 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 业务***的线上压力测试的方法、装置及服务器 |
CN109614307B (zh) * | 2018-09-29 | 2022-05-31 | 创新先进技术有限公司 | 业务***的线上压力测试的方法、装置及服务器 |
CN109617829A (zh) * | 2018-11-01 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 一种业务请求数据的处理方法、装置及*** |
CN109684211A (zh) * | 2018-12-18 | 2019-04-26 | 北京顺丰同城科技有限公司 | 一种基于店铺维度的订单调度***压力测试方法及装置 |
CN109684211B (zh) * | 2018-12-18 | 2022-04-08 | 北京顺丰同城科技有限公司 | 一种基于店铺维度的订单调度***压力测试方法及装置 |
CN109600571A (zh) * | 2018-12-27 | 2019-04-09 | 北京真视通科技股份有限公司 | 多媒体资源传输测试***和多媒体资源传输测试方法 |
CN110532168A (zh) * | 2019-07-05 | 2019-12-03 | 中国平安财产保险股份有限公司 | 全链路接口压测方法、装置、计算机设备及存储介质 |
CN110532168B (zh) * | 2019-07-05 | 2024-03-29 | 中国平安财产保险股份有限公司 | 全链路接口压测方法、装置、计算机设备及存储介质 |
CN110618924A (zh) * | 2019-09-19 | 2019-12-27 | 浙江诺诺网络科技有限公司 | 一种web应用***的链路压力测试方法 |
CN112583669A (zh) * | 2020-12-11 | 2021-03-30 | 北京字节跳动网络技术有限公司 | 线上链路压力测试方法、装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108512715B (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108512715A (zh) | 一种业务链路的负载压力测试方法和相关装置 | |
US9727383B2 (en) | Predicting datacenter performance to improve provisioning | |
CN109145025B (zh) | 一种多数据源集成的数据查询方法、装置及业务服务器 | |
US7565560B2 (en) | Supplying combinations of clock frequency, voltage, and current to processors | |
US20150081914A1 (en) | Allocation of Resources Between Web Services in a Composite Service | |
US20120084407A1 (en) | Real-load tuning of database applications | |
CN110348679A (zh) | 物流处理方法、装置、电子设备和存储介质 | |
CN111897660B (zh) | 模型部署方法、模型部署装置及终端设备 | |
CN111258772B (zh) | 服务调用信息处理方法、装置及*** | |
CN108334515A (zh) | 一种处理崩溃文件中堆栈地址的方法、装置及*** | |
US20100057775A1 (en) | Method and system for providing object information on the internet | |
CN107066519A (zh) | 一种任务检测方法及装置 | |
US7606906B2 (en) | Bundling and sending work units to a server based on a weighted cost | |
CN109117433A (zh) | 一种索引树对象的创建及其索引方法和相关装置 | |
CN114827280B (zh) | 请求处理方法、装置、设备、介质 | |
CN107479868A (zh) | 一种界面加载方法、装置及设备 | |
CN110389989A (zh) | 一种数据处理方法、装置及设备 | |
CN110609686A (zh) | 数据***生成方法、装置、计算机设备、存储介质 | |
CN108874520A (zh) | 计算方法及装置 | |
CN109345249A (zh) | 一种支付失败处理方法及装置 | |
US20080091644A1 (en) | Correlation of Resource Usage in a Database Tier to Software Instructions Executing in Other Tiers of a Multi Tier Application | |
CN109150643A (zh) | 一种业务处理异常检测方法及装置 | |
CN108959330A (zh) | 一种数据库的处理、数据查询方法及设备 | |
WO2023098634A1 (zh) | 一种信息处理方法及装置 | |
CN106446272B (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 |