CN110532168A - 全链路接口压测方法、装置、计算机设备及存储介质 - Google Patents
全链路接口压测方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110532168A CN110532168A CN201910606425.XA CN201910606425A CN110532168A CN 110532168 A CN110532168 A CN 110532168A CN 201910606425 A CN201910606425 A CN 201910606425A CN 110532168 A CN110532168 A CN 110532168A
- Authority
- CN
- China
- Prior art keywords
- interface
- survey
- wait press
- pressure
- request timing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000003860 storage Methods 0.000 title claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 54
- 238000003825 pressing Methods 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 44
- 238000012544 monitoring process Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 7
- 238000002224 dissection Methods 0.000 claims description 7
- 238000012800 visualization Methods 0.000 claims description 4
- 241000208340 Araliaceae Species 0.000 claims description 3
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims description 3
- 235000003140 Panax quinquefolius Nutrition 0.000 claims description 3
- 235000008434 ginseng Nutrition 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 abstract 1
- 238000012360 testing method Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 3
- 238000000151 deposition Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000000275 quality assurance Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- 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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- 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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及人工智能技术领域,提供了一种全链路接口压测方法、装置、计算机设备及存储介质,所述全链路接口压测方法包括:通过预设链路数据库获取业务链路模块中的待压测接口;根据预设规则,配置待压测接口之间的依赖关系;根据依赖关系,设置每个待压测接口的请求时序;根据预设参数设置规则,设置每个待压测接口的访问参数;基于请求时序和访问参数对当前待压测接口进行压测处理,得到压测数据;根据当前待压测接口对应的请求时序判断是否完成压测处理,在未完成压测处理的情况下继续执行压测处理。本发明的技术方案实现自动对全链路接口进行压测处理,避免人工干预压测处理过程,从而提高压测处理的准确性与效率。
Description
技术领域
本发明涉及软件测试技术领域,尤其涉及一种全链路接口压测方法、装置、计算机设备及存储介质。
背景技术
为了保证开发的产品满足上线需求,通常按照设置的测试方案对产品进行各种测试,对可能出现的问题进行分析和评估。
在这些测试中,负载压力测试是一种基本的质量保证行为,它是测试工作的重要一部分,其在一定约束条件下测试***所能承受的并发用户量、运行时间、数据量等性能,以确定***所能承受的负载压力。
目前常见的接口压测方法主要是针对单个接口进行压力测试,对模拟真实业务场景中多接口的组合比较困难,压测过程中性能数据收集和观察的方法,缺少规范和标准,由于需要人工干预协助接口压测,受到主客观因素影响,从而导致存在人为误差,且压测过程繁琐,接口压测效率低。
发明内容
本发明实施例提供一种全链路接口压测方法、装置、计算机设备及存储介质,以解决压测过程存在人工干预造成人为误差且压测效率低的问题。
一种全链路接口压测方法,包括:
通过预设链路数据库获取业务链路模块中的待压测接口;
根据预设规则,配置所述待压测接口之间的依赖关系;
根据所述依赖关系,设置每个所述待压测接口的请求时序;
根据预设参数设置规则,设置每个所述待压测接口的访问参数;
基于所述请求时序和所述访问参数,利用相同的压测标准和参数标准对当前待压测接口进行压测处理,得到压测数据;
若所述当前待压测接口对应的请求时序为结束请求时序,则完成压测处理,否则将所述当前待压测接口对应的压测数据、请求时序和访问参数一起发送给下一个请求时序对应的待压测接口执行压测处理。
一种全链路接口压测装置,包括:
获取模块,用于通过预设链路数据库获取业务链路模块中的待压测接口;
配置模块,用于根据预设规则,配置所述待压测接口之间的依赖关系;
请求时序设置模块,用于根据所述依赖关系,设置每个所述待压测接口的请求时序;
访问参数设置模块,用于根据预设参数设置规则,设置每个所述待压测接口的访问参数;
压测模块,用于基于所述请求时序和所述访问参数,利用相同的压测标准和参数标准对当前待压测接口进行压测处理,得到压测数据;
判断模块,用于若所述当前待压测接口对应的请求时序为结束请求时序,则完成压测处理,否则将所述当前待压测接口对应的压测数据、请求时序和访问参数一起发送给下一个请求时序对应的待压测接口执行压测处理。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述全链路接口压测方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述全链路接口压测方法的步骤。
上述全链路接口压测方法、装置、计算机设备及存储介质,通过获取业务链路模块中的待压测接口,配置待压测接口之间的依赖关系,根据依赖关系设置每个待压测接口对应的请求时序,在设置每个待压测接口对应的访问参数,最后基于请求时序和访问参数,利用相同的压测标准和参数标准对当前待压测接口进行压测处理得到压测数据,并对当前待压测接口对应的请求时序进行判断,若请求时序为结束请求时序,则完成压测处理,否则对下一个待压测接口继续执行压测处理。从而实现自动对全链路接口进行压测处理,避免人工干预压测处理过程,能够有效提高压测处理过程的准确性,进一步提高压测处理效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的全链路接口压测方法的流程图;
图2是本发明实施例提供的全链路接口压测方法中步骤S2的流程图;
图3是本发明实施例提供的全链路接口压测方法中步骤S3的流程图;
图4是本发明实施例提供的全链路接口压测方法中步骤S32的流程图;
图5是本发明实施例提供的全链路接口压测方法中步骤S4的流程图;
图6是本发明实施例提供的全链路接口压测方法中对待解析数据进行解析处理得到访问参数的流程图;
图7是本发明实施例提供的全链路接口压测装置的示意图;
图8是本发明实施例提供的计算机设备的基本机构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的数据处理方法应用于服务端,服务端具体可以用独立的服务器或者多个服务器组成的服务器集群实现。在一实施例中,如图1所示,提供一种全链路接口压测方法,包括如下步骤:
S1:通过预设链路数据库获取业务链路模块中的待压测接口。
在本发明实施例中,业务链路模块是指根据用户实际需求预先选择的业务***,例如,银行存取款业务***为一个业务链路模块。且业务链路模块有其对应的标识信息。
接口是指业务***中进行实际操作的业务节点,例如,银行存取款业务***中存在账户认证业务节点、存款业务节点、取款业务节点、查询业务节点等等。
待压测接口是指业务链路模块中需要进行压力测试的业务节点。
具体地,根据业务链路模块对应的标识信息,从预设链路数据库中查询与该标识信息相同的描述信息,当查询到标识信息与描述信息相同时,表示标识信息对应的业务链路模块与描述信息对应的业务链路模块相同,并获取该描述信息对应的待压测接口。
其中,预设链路数据库是指专门用于存储不同业务链路模块对应的不同描述信息以及描述信息对应的待压测接口。
S2:根据预设规则,配置待压测接口之间的依赖关系。
在本发明实施例中,依赖关系是指表示两个待压测接口中,一个待压测接口的状态将会影响到另一个待压测接口的关系。按照预设规则,配置待压测接口之间的依赖关系。其中,预设规则是指用户根据实际业务服务针对业务链路模块中的每个待压测接口,设置对应服务功能的服务逻辑。
S3:根据依赖关系,设置每个待压测接口的请求时序。
在本发明实施例中,请求时序是指访问待压测接口的访问顺序。根据步骤S2配置的待压测接口之间的依赖关系,设置每个待压测接口的请求时序。
需要说明的是,在对业务链路模块中的所有待压测接口进行压测处理时,需要逐个对待压测接口进行压测处理,故针对每个待压测接口需要设置其对应的请求时序,以保证待压测接口可以按照顺序进行压测处理。
S4:根据预设参数设置规则,设置每个待压测接口的访问参数。
在本发明实施例中,根据预设参数设置规则,设置每个待压测接口的访问参数。其中,预设参数设置规则是指根据实际业务需求针对访问参数设定的规则。
S5:基于请求时序和访问参数,利用相同的压测标准和参数标准对当前待压测接口进行压测处理,得到压测数据。
在本发明实施例中,压测标准具体可以是指并发数、总请求数量、网络连接参数、网络协议等用户设定的相关压测标准。参数标准具体可以是指吞吐量、时延、错误率等用户设定的相关参数标准。
具体地,根据请求时序和访问参数确定当前待压测接口,选取相同的压测标准和参数标准,调用压力测试单元对当前待压测接口进行压测处理,并获取压测处理后的压测数据。其中,压力测试单元是指专门用于对当前待压测接口进行压测处理的端口,该压力测试单元可以为虚拟机,也可以为独立的进程,此处不做限制。
需要说明的是,利用相同的压测标准和参数标准对当前待压测接口进行压测处理时,能够客观地得出对比性和参考的性能指标数据,避免由于不同的压测标准和参数标准以及不同运行环境导致压测处理存在差异性。
S6:若当前待压测接口对应的请求时序为结束请求时序,则完成压测处理,否则将当前待压测接口对应的压测数据、请求时序和访问参数一起发送给下一个请求时序对应的待压测接口执行压测处理。
具体地,当步骤S5中经过压测处理后得到压测数据时,从预设时序库中获取当前待压测接口对应的请求时序,判断当前待压测接口对应的请求时序,若该请求时序为结束请求时序,则完成对业务链路模块中所有待压测接口的压测处理,输出业务链路模块对应的压测结果;若请求时序不为结束请求时序,则将当前待压测接口对应的压测数据、请求时序和访问参数一起发送给下一请求时序对应的待压测接口,并重返步骤S5继续执行压测处理。
预设时序库是指专门用于存储业务链路模块中每个待压测接口及待压测接口对应的请求时序。
本实施例中,通过获取业务链路模块中的待压测接口,配置待压测接口之间的依赖关系,根据依赖关系设置每个待压测接口对应的请求时序,在设置每个待压测接口对应的访问参数,最后基于请求时序和访问参数,利用相同的压测标准和参数标准对当前待压测接口进行压测处理得到压测数据,并对当前待压测接口对应的请求时序进行判断,若请求时序为结束请求时序,则完成压测处理,否则对下一个待压测接口继续执行压测处理。从而实现自动对全链路接口进行压测处理,避免人工干预压测处理过程,能够有效提高压测处理过程的准确性,进一步提高压测处理效率。
在一实施例中,如图2所示,步骤S2中,即根据预设规则,配置待压测接口之间的依赖关系包括如下步骤:
S21:根据实际业务服务针对业务链路模块中的每个待压测接口,设置对应服务功能的服务逻辑。
在本发明实施例中,业务链路模块包含实际业务服务对应的服务功能,服务功能由业务链路模块中的每个待压测接口共同组合得到,且服务功能存在其对应的实现逻辑,例如,服务功能发送对应的实现逻辑分别为登录、编辑和发送。
具体地,根据实际业务服务的服务功能对应的实现逻辑,随机为业务链路模块中的每个待压测接口设置与实现逻辑相同的服务逻辑。
例如,业务链路模块中存在待压测接口A1、A2和A3,服务功能对应的实现逻辑分别为登录、编辑和发送,随机为待压测接口设置与实现逻辑相同的服务逻辑,则可得到待压测接口A1、A2和A3的服务逻辑分别为登录、编辑和发送。
S22:根据每个待压测接口对应的服务逻辑,建立待压测接口之间的依赖关系。
在本发明实施例中,业务链路模块在实现服务功能时,其包括的接口之间可以建立对应的依赖关系,服务逻辑排序在后的接口依赖服务逻辑排序在前的接口,即服务逻辑排序在后的接口所提供的服务功能,依赖于服务逻辑排序在前的接口所提供的服务功能而实现,例如,服务功能为编辑对应的接口依赖服务功能为登录对应的接口。
具体地,根据步骤S21得到每个待压测接口对应的服务逻辑,建立待压测接口之间的依赖关系。
例如,如步骤S21中的例子所述,待压测接口A1、A2和A3的服务逻辑分别为登录、编辑和发送,建立待压测接口A2依赖于待压测接口A1之后的依赖关系,待压测接口A3依赖于待压测接口A2之后的依赖关系,即表示待压测接口A2对应的编辑服务功能需要在待压测接口A1对应的登陆服务功能执行后实现,待压测接口A3对应的发送服务功能需要在待压测接口A2对应的编辑服务功能执行后实现。
需要说明的是,存在多个待压测接口之间具有相同的依赖关系,例如,待压测接口B2依赖于待压测接口B1,待压测接口B3也依赖于待压测接口B1。
本实施例中,通过根据实际业务服务对每个待压测接口设置对应服务功能的服务逻辑,并基于服务逻辑建立待压测接口之间的依赖关系。从而实现对待压测接口之间的依赖关系的准确配置,保证后续基于依赖关系设置待压测接口对应的请求时序的准确性。
在一实施例中,如图3所示,步骤S3中,即根据依赖关系,设置每个待压测接口的请求时序包括如下步骤:
S31:根据依赖关系确定每个待压测接口对应的优先等级。
在本发明实施例中,根据待压测接口之间的依赖关系,将不需要依赖其他待压测接口的待压测接口的优先等级确定为最高,接着将将需要依赖最高优先等级的待压测接口的优先等级确定为次高,以此类推,直到所有待压测接口的优先等级确定为止,即最后一个待压测接口的优先等级为最低。
S32:根据每个待压测接口对应的优先等级,设置每个待压测接口的请求时序。
在本发明实施例中,在对业务链路模块中的所有待压测接口进行压测处理时,需要逐个对待压测接口进行压测处理,故针对每个待压测接口需要设置其对应的请求时序,使待压测接口可以按照顺序进行压测处理,避免多个待压测接口同步进行压测处理造成压测负荷过大,从而保证压测过程的稳定性。
具体地,根据步骤S31确定每个待压测接口对应的优先等级的高低顺序,对每个待压测接口的请求时序进行设置。
需要说明的是,请求时序表示待压测接口进行压测处理的顺序,其中,第一请求时序表示优先进行压测处理,结束请求时序表示最后进行压测处理。
本实施例中,根据依赖关系确定每个待压测接口对应的优先等级,并基于优先等级设置每个待压测接口的请求时序。从而实现对待压测接口对应的请求时序的准确配置,保证后续压测处理过程数据流向的准确性,进一步提高压测处理的准确性。
在一实施例中,如图4所示,步骤S32中,即根据每个待压测接口对应的优先等级,设置每个待压测接口的请求时序的步骤包括:
S321:根据待压测接口对应的优先级等级的高低顺序依次设置待压测接口的请求时序,其中,优先等级最高的待压测接口的请求时序确定为第一请求时序,优先等级最低的待压测接口的请求时序确定为结束请求时序。
具体地,根据每个待压测接口对应的优先等级的高低顺序,将优先等级最高的待压测接口的请求时序确定为第一请求时序,将优先等级次高的待压测接口的请求时序确定为第二请求时序,以此类推,直到所有待压测接口的请求时序确定为止,即最后将优先等级最低的待压测接口的请求时序确定为结束请求时序为止。
S322:若多个待压测接口具有相同的优先等级,则根据用户预先选择对存在相同优先等级的待压测接口设置对应的请求时序。
具体地需要说明的是,若出现多个待压测接口具有相同的优先等级时,则根据用户预先选择对存在相同优先等级的待压测接口进行设置对应的请求时序。
例如,存在待压测接口C1、C2和C3对应的优先等级分别为最高、次高和次高,若用户预先选择C2优先,则当C1为第一请求时序时,C2为第二请求时序,C3为第三请求时序;若用户预先选择C3优先,当C1为第一请求时序时,C3为第二请求时序,C2为第三请求时序。
本实施例中,通过根据待压测接口对应的优先级等级的高低顺序设置待压测接口的请求时序,并根据用户预先选择对存在相同优先等级的待压测接口设置对应的请求时序。从而实现对待压测接口对应的请求时序的准确配置,保证后续压测处理过程数据流向的准确性,进一步提高压测处理的准确性。
在一实施例中,访问参数包括业务功能点参数、鉴权参校验参数和安全防刷参数,如图5所示,步骤S4中,即根据预设参数设置规则,设置每个待压测接口的访问参数包括如下步骤:
S41:根据依赖关系,结合业务功能对每个待压测接口的业务功能点参数进行设置。
在本发明实施例中,业务功能点参数是指待压测接口对应业务数据。对于不同业务领域而言,由于具有不同的业务特性,因此,对于不同的业务节点,通常适于处理不同形式的业务数据。例如,对于新闻媒体领域而言,某些业务节点适于处理新闻数据;对于移动通讯领域而言,某些业务节点适于处理移动通讯数据;对于电子商务(ElectronicCommerce,EC)领域而言,某些业务节点适于处理订单数据,等等。
具体地,每个待压测接口包含其对应的接口id,基于待压测接口之间的依赖关系和业务链路模块对应的业务功能,确定每个待压测接口对应的节点功能,并利用每个待压测接口对应的接口id,从预设业务库中匹配与接口id相同的合法id,获取匹配到的合法id对应的参数信息,将该参数信息设置为当前待压测接口对应的业务功能点参数。
其中,预设业务库是指专门用于存储合法id及合法id对应的参数信息。
例如,存在待压测接口A和待压测接口B,待压测接口A依赖于待压测接口B,业务链路模块中存在登录和验证的业务功能,由于需要先进行登录才能实现验证,故根据依赖关系和业务功能,确定待压测接口B的节点功能为登录,确定待压测验证模块A的节点功能为验证。
S42:按照业务功能对每个待压测接口的鉴权校验参数进行设置。
在本发明实施例中,鉴权校验参数是指用于体现待压测接口对应的权限操作,例如,待压测接口Q1对应的权限操作可以执行步骤X1,待压测接口Q2对应的权限操作可以执行步骤X2等等。
具体地,根据业务链路模块对应的业务功能,确定每个待压测接口对应的权限,利用接口id从预设权限库中查询与接口id相同的权限id,当查询到与接口id相同的权限id时,将权限id对应的鉴权校验参数作为该接口id对应的待压测接口的鉴权校验参数。
其中,预设权限库中包括权限id和权限id对应的鉴权校验参数,且预设权限库中存在与所有接口id相同的权限id。
S43:按照预设要求对每个待压测接口的安全防刷参数进行设置。
在本发明实施例中,安全防刷参数是指针对待压测接口设置的安全验证参数,使到传递给待压测接口的每一次请求数据,都可以定制化请求内容,从而可以极大的减少不安全数据对被测待压测接口的侵入,进而得到最真实的性能数据。
具体地,根据待压测接口之间的依赖关系,针对每个待压测接口,根据预设要求配置每个待压测接口与其他待压测接口之间的安全防刷参数,其中,预设要求是指根据用户实际需求进行设置,例如,可以设置待压测接口之间的访问密码。
本实施例中,通过依赖关系和业务功能对每个待压测接口的业务功能点参数进行设置,按照业务功能点对每个待压测接口的鉴权校验参数进行设置,再按照预设要求对每个待压测接口的安全防刷参数进行设置。从而实现对访问参数的准确设置,保证后续利用访问参数进行压测处理的准确性。
在一实施例中,如图6所示,步骤S4之前,该全链路接口压测方法还包括如下步骤:
S7:利用预设抓包工具提取待压测接口中的待解析数据。
在本发明实施例中,待解析数据是指待解析端口解析成访问参数的数据,待解析数据存在于待压测接口的统一资源定位符(Uniform Resource Locator,URL)、请求头和请求体中。通过直接利用预设抓包工具对待压测接口中的待解析数据进行提取,得到提取后的待解析数据。其中,预设抓包工具是指专门用于拦截提取待压测接口中的待解析数据的软件,例如,TCPDump软件、Wireshark软件等等。
URL是统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
S8:将待解析数据导入到预设解析端口进行解析处理,得到访问参数。
具体地,将步骤S7得到的待解析数据导入到预设解析端口中进行解析处理,得到解析处理后的访问参数。其中,预设解析端口是指专门用于对待解析数据进行解析处理的端口。
本实施例中,通过提取待压测接口中的待解析数据,并对待解析数据进行解析处理得到访问参数。从而实现快速准确地获取访问参数,保证后续利用访问参数进行压测处理的准确性。
在一实施例中,步骤S6之后,该全链路接口压测方法还包括如下步骤:
S9:通过监控模块对压测数据进行监控管理,并将监控数据输出到可视化界面。
在本发明实施例中,压测数据为性能指标数据,其主要分为两类,实时监测服务端压力负载数据,例如,CPU、内存、IO;接口性能指标数据,例如,并发数、时延、吞吐量、错误率。
具体地,首先根据监控模块中的预设采集脚本,实时读取预先设定的虚拟文件***,并从该虚拟文件***中采集和计算出压测数据中的实时监测服务端压力负载数据,如CPU、内存、网络IO等具体信息。其次,通过压力测试单元输出的日志和结果信息,从中提取和计算出采集压测数据中的接口性能指标数据,如并发、时延、吞吐量、错误率等性能指标数据。最后,通过互联网页面,将获取到的压力负载数据和性能指标数据整合并展示出来,即将监控数据输出到可视化界面。
其中,监控模块是指用户设定用于对压测数据进行监控管理的***模块。预设采集脚本是指用户根据实际需求设定用于读取虚拟文件***的脚本工具。
本实施例中,通过对压测数据进行监控管理并输出到可视化界面,能够帮助用户及时了解压测处理过程的数据信息,以及帮助用户对压测数据的分析,进一步供用户验证压测处理过程的准确性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种全链路接口压测装置,该全链路接口压测装置与上述实施例中全链路接口压测方法一一对应。如图7所示,该全链路接口压测装置包括获取模块71、配置模块72、请求时序设置模块73、访问参数设置模块74、压测模块75和判断模块76。各功能模块详细说明如下:
获取模块71,用于通过预设链路数据库获取业务链路模块中的待压测接口;
配置模块72,用于根据预设规则,配置待压测接口之间的依赖关系;
请求时序设置模块73,用于根据依赖关系,设置每个待压测接口的请求时序;
访问参数设置模块74,用于根据预设参数设置规则,设置每个待压测接口的访问参数;
压测模块75,用于基于请求时序和访问参数,利用相同的压测标准和参数标准对当前待压测接口进行压测处理,得到压测数据;
判断模块76,用于若当前待压测接口对应的请求时序为结束请求时序,则完成压测处理,否则将当前待压测接口对应的压测数据、请求时序和访问参数一起发送给下一个请求时序对应的待压测接口执行压测处理。
进一步地,配置模块72包括:
服务逻辑设置子模块,用于根据实际业务服务针对业务链路模块中的每个待压测接口,设置对应服务功能的服务逻辑;
建立子模块,用于根据每个待压测接口对应的服务逻辑,建立待压测接口之间的依赖关系。
进一步地,请求时序设置模块73包括:
优先等级确定子模块,用于根据依赖关系确定每个待压测接口对应的优先等级;
第一设置子模块,用于根据每个待压测接口对应的优先等级,设置每个待压测接口的请求时序。
进一步地,第一设置子模块包括:
第二设置单元,用于根据待压测接口对应的优先级等级的高低顺序依次设置待压测接口的请求时序,其中,优先等级最高的待压测接口的请求时序确定为第一请求时序,优先等级最低的待压测接口的请求时序确定为结束请求时序;
第三设置单元,用于若多个待压测接口具有相同的优先等级,则根据用户预先选择对存在相同优先等级的待压测接口设置对应的请求时序。
进一步地,访问参数设置模块74包括:
第四设置子模块,用于根据依赖关系,结合业务功能对每个待压测接口的业务功能点参数进行设置;
第五设置子模块,用于按照业务功能对每个待压测接口的鉴权校验参数进行设置;
第六设置子模块,用于按照预设要求对每个待压测接口的安全防刷参数进行设置。
进一步地,全链路接口压测装置还包括:
提取模块,用于利用预设抓包工具提取待压测接口中的待解析数据;
解析模块,用于将待解析数据导入到预设解析端口进行解析处理,得到访问参数。
进一步地,全链路接口压测装置还包括:
监控模块,用于通过监控模块对压测数据进行监控管理,并将监控数据输出到可视化界面。
本申请的一些实施例公开了计算机设备。具体请参阅图8,为本申请的一实施例中计算机设备90基本结构框图。
如图8中所示意的,所述计算机设备90包括通过***总线相互通信连接存储器91、处理器92、网络接口93。需要指出的是,图8中仅示出了具有组件91-93的计算机设备90,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器91至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器91可以是所述计算机设备90的内部存储单元,例如该计算机设备90的硬盘或内存。在另一些实施例中,所述存储器91也可以是所述计算机设备90的外部存储设备,例如该计算机设备90上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器91还可以既包括所述计算机设备90的内部存储单元也包括其外部存储设备。本实施例中,所述存储器91通常用于存储安装于所述计算机设备90的操作***和各类应用软件,例如所述全链路接口压测方法的程序代码等。此外,所述存储器91还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器92在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器92通常用于控制所述计算机设备90的总体操作。本实施例中,所述处理器92用于运行所述存储器91中存储的程序代码或者处理数据,例如运行所述全链路接口压测方法的程序代码。
所述网络接口93可包括无线网络接口或有线网络接口,该网络接口93通常用于在所述计算机设备90与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有待压测接口数据信息录入程序,所述待压测接口数据信息录入程序可被至少一个处理器执行,以使所述至少一个处理器执行上述任意一种全链路接口压测方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台计算机设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
最后应说明的是,显然以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种全链路接口压测方法,其特征在于,所述全链路接口压测方法包括:
通过预设链路数据库获取业务链路模块中的待压测接口;
根据预设规则,配置所述待压测接口之间的依赖关系;
根据所述依赖关系,设置每个所述待压测接口的请求时序;
根据预设参数设置规则,设置每个所述待压测接口的访问参数;
基于所述请求时序和所述访问参数,利用相同的压测标准和参数标准对当前待压测接口进行压测处理,得到压测数据;
若所述当前待压测接口对应的请求时序为结束请求时序,则完成压测处理,否则将所述当前待压测接口对应的压测数据、请求时序和访问参数一起发送给下一个请求时序对应的待压测接口执行压测处理。
2.如权利要求1所述的全链路接口压测方法,其特征在于,所述根据预设规则,配置所述待压测接口之间的依赖关系的步骤包括:
根据实际业务服务针对所述业务链路模块中的每个待压测接口,设置对应服务功能的服务逻辑;
根据每个待压测接口对应的所述服务逻辑,建立所述待压测接口之间的所述依赖关系。
3.如权利要求1所述的全链路接口压测方法,其特征在于,所述根据所述依赖关系,设置每个所述待压测接口的请求时序的步骤包括:
根据所述依赖关系确定每个待压测接口对应的优先等级;
根据每个待压测接口对应的所述优先等级,设置每个所述待压测接口的请求时序。
4.如权利要求3所述的全链路接口压测方法,其特征在于,所述根据每个待压测接口对应的所述优先等级,设置每个所述待压测接口的请求时序的步骤包括:
根据所述待压测接口对应的所述优先级等级的高低顺序依次设置待压测接口的所述请求时序,其中,所述优先等级最高的待压测接口的请求时序确定为第一请求时序,所述优先等级最低的待压测接口的请求时序确定为结束请求时序;
若多个待压测接口具有相同的优先等级,则根据用户预先选择对存在相同优先等级的待压测接口设置对应的所述请求时序。
5.如权利要求1所述的全链路接口压测方法,其特征在于,所述访问参数包括业务功能点参数、鉴权参校验参数和安全防刷参数;所述根据预设参数设置规则,设置每个所述待压测接口的访问参数的步骤包括:
根据所述依赖关系,结合业务功能对每个所述待压测接口的所述业务功能点参数进行设置;
按照所述业务功能对每个所述待压测接口的所述鉴权校验参数进行设置;
按照预设要求对每个所述待压测接口的所述安全防刷参数进行设置。
6.如权利要求5所述的全链路接口压测方法,其特征在于,所述根据预设参数设置规则,设置每个所述待压测接口的访问参数的步骤之前,所述全链路接口压测方法还包括:
利用预设抓包工具提取所述待压测接口中的待解析数据;
将所述待解析数据导入到预设解析端口进行解析处理,得到所述访问参数。
7.如权利要求1所述的全链路接口压测方法,其特征在于,所述若所述当前待压测接口对应的请求时序为结束请求时序,则完成压测处理,否则将所述当前待压测接口对应的压测数据、请求时序和访问参数一起发送给下一个请求时序对应的待压测接口执行压测处理的步骤之后,所述全链路接口压测方法还包括:
通过监控模块对所述压测数据进行监控管理,并将监控数据输出到可视化界面。
8.一种全链路接口压测装置,其特征在于,所述全链路接口压测装置包括:
获取模块,用于通过预设链路数据库获取业务链路模块中的待压测接口;
配置模块,用于根据预设规则,配置所述待压测接口之间的依赖关系;
请求时序设置模块,用于根据所述依赖关系,设置每个所述待压测接口的请求时序;
访问参数设置模块,用于根据预设参数设置规则,设置每个所述待压测接口的访问参数;
压测模块,用于基于所述请求时序和所述访问参数,利用相同的压测标准和参数标准对当前待压测接口进行压测处理,得到压测数据;
判断模块,用于若所述当前待压测接口对应的请求时序为结束请求时序,则完成压测处理,否则将所述当前待压测接口对应的压测数据、请求时序和访问参数一起发送给下一个请求时序对应的待压测接口执行压测处理。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述全链路接口压测方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述全链路接口压测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910606425.XA CN110532168B (zh) | 2019-07-05 | 2019-07-05 | 全链路接口压测方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910606425.XA CN110532168B (zh) | 2019-07-05 | 2019-07-05 | 全链路接口压测方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110532168A true CN110532168A (zh) | 2019-12-03 |
CN110532168B CN110532168B (zh) | 2024-03-29 |
Family
ID=68659875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910606425.XA Active CN110532168B (zh) | 2019-07-05 | 2019-07-05 | 全链路接口压测方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110532168B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111049684A (zh) * | 2019-12-12 | 2020-04-21 | 闻泰通讯股份有限公司 | 数据分析方法、装置、设备和存储介质 |
CN112615759A (zh) * | 2020-12-17 | 2021-04-06 | 上海哔哩哔哩科技有限公司 | 全链路压测组件、全链路压测方法及装置 |
CN113254323A (zh) * | 2021-07-05 | 2021-08-13 | 中邮消费金融有限公司 | 线上全链路压测方法、装置及计算机设备 |
CN113381909A (zh) * | 2021-06-08 | 2021-09-10 | 中国工商银行股份有限公司 | 全链路压测方法及装置 |
CN113900915A (zh) * | 2021-09-28 | 2022-01-07 | 盐城金堤科技有限公司 | 确定服务性能状态的方法和装置、及存储介质和电子设备 |
CN114285756A (zh) * | 2020-09-17 | 2022-04-05 | 腾讯科技(深圳)有限公司 | 服务调用依赖关系分析方法及相关装置 |
CN114338447A (zh) * | 2021-12-29 | 2022-04-12 | 天翼物联科技有限公司 | Radius环境下的全链路压测方法、装置、计算机设备及存储介质 |
CN115242684A (zh) * | 2022-07-21 | 2022-10-25 | 中国平安财产保险股份有限公司 | 全链路压测方法、装置、计算机设备及存储介质 |
CN117349185A (zh) * | 2023-12-04 | 2024-01-05 | 杭银消费金融股份有限公司 | 一种基于接口强弱依赖分级的***测试方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110145643A1 (en) * | 2009-12-10 | 2011-06-16 | Microsoft Corporation | Reproducible test framework for randomized stress test |
US20130173970A1 (en) * | 2012-01-01 | 2013-07-04 | Mosys, Inc. | Memory device with background built-in self-testing and background built-in self-repair |
CN107329861A (zh) * | 2017-06-12 | 2017-11-07 | 北京奇安信科技有限公司 | 一种多接口测试方法及装置 |
CN108512715A (zh) * | 2017-02-28 | 2018-09-07 | 菜鸟智能物流控股有限公司 | 一种业务链路的负载压力测试方法和相关装置 |
CN109491891A (zh) * | 2018-10-17 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 全自动接口压测方法、装置、计算机设备及存储介质 |
-
2019
- 2019-07-05 CN CN201910606425.XA patent/CN110532168B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110145643A1 (en) * | 2009-12-10 | 2011-06-16 | Microsoft Corporation | Reproducible test framework for randomized stress test |
US20130173970A1 (en) * | 2012-01-01 | 2013-07-04 | Mosys, Inc. | Memory device with background built-in self-testing and background built-in self-repair |
CN108512715A (zh) * | 2017-02-28 | 2018-09-07 | 菜鸟智能物流控股有限公司 | 一种业务链路的负载压力测试方法和相关装置 |
CN107329861A (zh) * | 2017-06-12 | 2017-11-07 | 北京奇安信科技有限公司 | 一种多接口测试方法及装置 |
CN109491891A (zh) * | 2018-10-17 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 全自动接口压测方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
桂晨: "基于Spark和B/S架构的全链路压力测试***的设计与实现", 《中国优秀硕士学位论文全文数据库 (基础科学辑)》, no. 05, 15 May 2019 (2019-05-15), pages 138 - 742 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111049684A (zh) * | 2019-12-12 | 2020-04-21 | 闻泰通讯股份有限公司 | 数据分析方法、装置、设备和存储介质 |
CN114285756A (zh) * | 2020-09-17 | 2022-04-05 | 腾讯科技(深圳)有限公司 | 服务调用依赖关系分析方法及相关装置 |
CN112615759A (zh) * | 2020-12-17 | 2021-04-06 | 上海哔哩哔哩科技有限公司 | 全链路压测组件、全链路压测方法及装置 |
CN113381909A (zh) * | 2021-06-08 | 2021-09-10 | 中国工商银行股份有限公司 | 全链路压测方法及装置 |
CN113254323A (zh) * | 2021-07-05 | 2021-08-13 | 中邮消费金融有限公司 | 线上全链路压测方法、装置及计算机设备 |
CN113900915A (zh) * | 2021-09-28 | 2022-01-07 | 盐城金堤科技有限公司 | 确定服务性能状态的方法和装置、及存储介质和电子设备 |
CN113900915B (zh) * | 2021-09-28 | 2024-03-08 | 盐城天眼察微科技有限公司 | 确定服务性能状态的方法和装置、及存储介质和电子设备 |
CN114338447A (zh) * | 2021-12-29 | 2022-04-12 | 天翼物联科技有限公司 | Radius环境下的全链路压测方法、装置、计算机设备及存储介质 |
CN115242684A (zh) * | 2022-07-21 | 2022-10-25 | 中国平安财产保险股份有限公司 | 全链路压测方法、装置、计算机设备及存储介质 |
CN115242684B (zh) * | 2022-07-21 | 2023-06-20 | 中国平安财产保险股份有限公司 | 全链路压测方法、装置、计算机设备及存储介质 |
CN117349185A (zh) * | 2023-12-04 | 2024-01-05 | 杭银消费金融股份有限公司 | 一种基于接口强弱依赖分级的***测试方法 |
CN117349185B (zh) * | 2023-12-04 | 2024-02-23 | 杭银消费金融股份有限公司 | 一种基于接口强弱依赖分级的***测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110532168B (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110532168A (zh) | 全链路接口压测方法、装置、计算机设备及存储介质 | |
CN103150238B (zh) | 一种服务请求处理方法、模拟性能测试方法及装置 | |
CN110430096A (zh) | 一种网关设备测试方法及设备 | |
CN109582556B (zh) | 应用程序在移动终端运行情况的测试方法、装置和*** | |
CN108628748B (zh) | 自动化测试管理方法和自动化测试管理*** | |
CN105721187A (zh) | 一种业务故障诊断方法及装置 | |
CN106937303A (zh) | 一种基站测试方法及***、终端、云服务器 | |
CN112486535B (zh) | 一种用于NB-IoT设备的远程升级方法及*** | |
CN109542786A (zh) | 可视化测试方法及装置 | |
CN109344075A (zh) | 配置方法、测试方法、配置服务器及服务节点设备 | |
CN103246606A (zh) | Esb平台的性能方法和*** | |
CN109388557A (zh) | 一种控件遍历方法、计算机可读存储介质及终端设备 | |
CN107423223A (zh) | 测试管理*** | |
CN103777092A (zh) | 一种基于云技术的继电保护测试***及其方法 | |
WO2020238965A1 (zh) | 生产环境的性能评估方法、装置及存储介质 | |
CN111147323A (zh) | 测速方法及装置 | |
CN113347060B (zh) | 基于流程自动化的电力网络故障检测方法、装置和*** | |
CN111935767B (zh) | 一种网络仿真*** | |
CN112583663B (zh) | 一种基于国产操作***的自动化网络性能测试方法 | |
CN114095535A (zh) | 一种将物理设备时序变量自动映射为数字模型的方法 | |
CN113688025A (zh) | 接口测试方法、装置、设备和存储介质 | |
CN107547468A (zh) | 网络协议切换装置、方法及终端 | |
CN115529315B (zh) | 一种云边协同*** | |
CN110287070B (zh) | Esb专用协议接口测试方法、服务器及计算机可读存储介质 | |
CN112636465A (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 |