CN116501559B - 基于Netty实现分布式HTTP接口性能测试方法 - Google Patents
基于Netty实现分布式HTTP接口性能测试方法 Download PDFInfo
- Publication number
- CN116501559B CN116501559B CN202310413115.2A CN202310413115A CN116501559B CN 116501559 B CN116501559 B CN 116501559B CN 202310413115 A CN202310413115 A CN 202310413115A CN 116501559 B CN116501559 B CN 116501559B
- Authority
- CN
- China
- Prior art keywords
- pressure
- pressure measurement
- request
- interface
- netty
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000011056 performance test Methods 0.000 title claims abstract description 32
- 238000009530 blood pressure measurement Methods 0.000 claims abstract description 96
- 230000000007 visual effect Effects 0.000 claims abstract description 8
- 238000012360 testing method Methods 0.000 claims description 45
- 230000015654 memory Effects 0.000 claims description 11
- 238000005259 measurement Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 5
- 238000013500 data storage Methods 0.000 claims description 4
- 230000002688 persistence Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 230000006835 compression Effects 0.000 claims description 2
- 238000007906 compression Methods 0.000 claims description 2
- 230000002085 persistent effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000012535 impurity Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012549 training 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/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- 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
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及一种基于Netty实现分布式HTTP接口性能测试方法,本申请通过使用Netty做性能测试的方法,可高性能的对服务端进行性能测试。各个节点自动统计自身的压测结果。可以对接口进行单个,批量,权重等方式。本发明充分考虑了用户的使用便捷性和系统的稳定性,因此具备以下优点:易用:提供了可视化页面进行操作,增强了易用性。虽然使用了分布式的多压力节点的方式,但是最终的统计结果通过任务进行自动统计,无需人工介入;便捷:压测完成后,自动统计多压力节点的压测数据,并且通过邮件,消息的方式推送给相关人;高效:此方法使用了NIO做底层,采用多路复用IO模型,在每个操作系统中多路复用的实现均不同。
Description
技术领域
本公开涉及软件测试技术领域,尤其涉及一种测试架构、基于Netty实现分布式HTTP接口性能测试方法、装置和电子设备。
背景技术
在软件发布之前需要对软件做性能测试来验证软件是否达到用户的性能指标,检测出软件的性能瓶颈,使用此性能测试方法可以快速的对软件进行性能测试,及时的发现系统缺陷,定位解决问题。
因此,软件上线前需要对软件的HTTP接口做性能测试,要评估软件的系统性能,分析性能变化趋势,定位软件瓶颈风险,协助规划软件系统容量,保障软件上线后在一些高流量场景下能够稳定的运行。
对软件做性能测试需要一定计算机基础。而传统常用的性能测试软件,基本上都是C/S架构,支持多种协议类型,功能多而杂,增加了学习成本,使用比较复杂,二次开发成本高。
发明内容
为了解决上述问题,本申请提出一种测试架构、基于Netty实现分布式HTTP接口性能测试方法、装置和电子设备。
本申请一方面,提出一种测试架构,包括:
展示端,提供可视化操作页面,触发压测请求;
业务端,提供下发压测任务、压力端节点注册和压测结果统计的能力;
压力端,提供压力端分布式部署,基于Netty框架,启动完毕后自动把当前节点元数据注册到业务端;
持久层,提供数据存储。
本申请另一方面,提出一种基于Netty实现分布式HTTP接口性能测试方法,基于所述测试架构进行实施,包括如下步骤:
在展示端将需要做压力测试的压力端的API接口下发到业务端;
触发压力端,判断是否需要比例压测,并确定压测接口和请求参数;
建立Netty客户端和被压测服务器之间的连接,初始化API请求记录,并写入HTTP请求;
根据请求响应,统计并存储多节点的压测结果。
作为本申请的一可选实施方案,可选地,在展示端将需要做压力测试的压力端的API接口下发到业务端之前,还包括:
各个压力端在启动完成后,将本压力节点的节点元数据注册到压力端的Redis中;
当业务端有性能测试的请求后,业务端去redis拉取已注册的压力节点,并将性能测试的基础数据下发给各个需要做压力测试的压力端。
作为本申请的一可选实施方案,可选地,API接口信息,包括:
接口域名/HOST,端口;
接口的URI信息;
接口的Header信息;
接口的请求方式;
接口的请求参数,如果需要可变参数,使用固定语法${Param}的方式,在压测时会根据创造好的数据自动替换参数;
压测的时间。
作为本申请的一可选实施方案,可选地,触发压力端,判断是否需要比例压测,并确定压测接口和请求参数,包括:
通过业务端接收到压测请求;
在业务端接收到压测请求时,获取已经注册到业务端的压力节点,并按照预设的定时方案,通过HTTP请求的方式把压力测试的信息下发到各个压力节点;
各个压力节点收到压测请求后,自动创建对应固定时间的定时任务。
作为本申请的一可选实施方案,可选地,触发压力端,判断是否需要比例压测,并确定压测接口和请求参数,还包括:
执行各个压力节点的定时任务;
判断各个压力节点的访问接口是否需要比例压测:
是,则按照预设比例整理请求,获取整理后的压测请求;否,则直接获取压测请求;
根据压测请求确定压测接口,并构造各个接口的请求参数。
作为本申请的一可选实施方案,可选地,建立Netty客户端和被压测服务器之间的连接,初始化API请求记录,并写入HTTP请求,包括:
初始化Netty客户端;
使用Netty客户端与被压测服务器建立连接,初始化API请求记录、工作线程组和通道连接池;
循环往连接成功的通道中写入构造好的HTTP请求,并且记录发送时间,获取各个压力节点的压测数据。
作为本申请的一可选实施方案,可选地,根据请求响应,统计并存储多节点的压测结果,包括:
在业务端上执行各个定时任务,并统计各个压力节点的压测数据;
将各个压力节点的压测数据存储至持久层;
通过业务端将各个压力节点的压测数据推送至前端。
本申请另一方面,还提出一种实现所述基于Netty实现分布式HTTP接口性能测试方法的装置,包括:
API接口下发模块,用于在展示端将需要做压力测试的压力端的API接口下发到业务端;
触发模块,用于触发压力端,判断是否需要比例压测,并确定压测接口和请求参数;
Netty初始化模块,用于建立Netty客户端和被压测服务器之间的连接,初始化API请求记录,并写入HTTP请求;
响应模块,用于根据请求响应,统计并存储多节点的压测结果。
本申请另一方面,还提出一种基于Netty实现分布式HTTP接口性能测试方法电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令时实现所述的一种基于Netty实现分布式HTTP接口性能测试方法。
本发明的技术效果:
本申请通过使用Netty做性能测试的方法,可高性能的对服务端进行性能测试。各个节点自动统计自身的压测结果。可以对接口进行单个,批量,权重等方式。
本发明充分考虑了用户的使用便捷性和系统的稳定性,因此本发明具备以下优点:
易用:提供了可视化页面进行操作,增强了易用性。虽然使用了分布式的多压力节点的方式,但是最终的统计结果通过任务进行自动统计,无需人工介入;
便捷:压测完成后,自动统计多压力节点的压测数据,并且通过邮件,消息的方式推送给相关人;
高效:此方法使用了NIO做底层,采用多路复用IO模型,在每个操作系统中多路复用的实现均不同。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出为本发明测试架构的架构示意图;
图2示出为本发明基于Netty实现分布式HTTP接口性能测试方法的实施流程示意图;
图3示出为本发明压力节点在业务端注册的示意图;
图4示出为本发明压力测试的时序图;
图5示出为本发明电子设备的应用示意图。
实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
如图1所示,本申请一方面,提出一种测试架构,包括:
展示端,提供可视化操作页面,触发压测请求;
业务端,提供下发压测任务、压力端节点注册和压测结果统计的能力;
压力端,提供压力端分布式部署,基于Netty框架,启动完毕后自动把当前节点元数据注册到业务端;
持久层,提供数据存储。
本压力测试工具采用B/S架构,使用浏览器作为客户端。共分成三部分,展示端,业务端,压测端。
展示端(前端)主要用于提供可视化操作页面,触发压测请求;是对工具做页面的展示,提供了可视化的页面,相比较命令行的方式使用更加简单,不容易出错,操作性更高。
业务端(后端)是对工具的业务处理端,提供了压力端节点的注册以及压测结果的数据统计。后端提供下发压测任务和压测结果统计的能力;其中包含web提供Http服务,Core提供Interface,Entity,Patrol做业务处理;performance处理压力请求的前置数据,计算压测任务开始时间;job负责最终多节点的压测性能结果统计。
压力端是性能工具的核心,具备分布式的能力,基于Netty为方法核心,启动完毕后自动把当前节点元数据注册到业务端。压力端可以多点部署,具体部署数量根据使用者的实际情况来定。
架构下面的数据层,即持久层,可以使用MSQL,REDIS,MongoDB做数据存储。
下面将描述该测试架构的应用方案。
实施例
如图2所示,本申请另一方面,提出一种基于Netty实现分布式HTTP接口性能测试方法,基于所述测试架构进行实施,包括如下步骤:
在展示端将需要做压力测试的压力端的API接口下发到业务端;
触发压力端,判断是否需要比例压测,并确定压测接口和请求参数;
建立Netty客户端和被压测服务器之间的连接,初始化API请求记录,并写入HTTP请求;
根据请求响应,统计并存储多节点的压测结果。
具体实施时,请参见实施例2的业务流程示意图。主要包括1-11的步骤。
一、首先,执行测试前,需要进行压力端的注册
如图3所示的压力端注册流程,每个压力端在启动完成后会将本压力节点的节点元数据注册到Redis中,当业务端有性能测试的请求后,业务端会去redis拉取已注册压力节点,并且将性能测试的基础数据下发给各个压力端。
开始进行压力节点测试
1、获取数据
在展示端(前端)将需要做压力测试的API接口下发到业务端(后端),下发方式可以通过文件的方式(JSON数据结构),也可以通过在展示端提交表单的方式。
API接口信息包含以下信息:
1:接口域名/HOST,端口;
2:接口的URI信息;
3:接口的Header信息;
4:接口的请求方式(GET,POST,PUT,DELETE);
5:接口的请求参数,如果需要可变参数,可使用固定语法${Param}的方式,在压测时会根据创造好的数据自动替换参数;
6:压测的时间;
2、触发压力端
在业务端(后端)接收到压测请求时,会获取已经注册到业务端的压力节点,通过HTTP请求的方式把压力测试的信息下发到各个节点上;为了保证压力非递增而是直接打满的方式,业务端会将当前时间延迟30秒转成CRON表达式(固定时间)下发到压力端,压力端收到压测请求后,会自动创建一个固定时间的定时任务;
3、是否需要比例压测
在软件中某些接口在的访问频次并没有那么高,所以在批量或者场景压测中,这些接口的权重会被降低,其他容易被高频访问的接口权重会提升;
4、需要按比例压测
当需要按照比例压测时,会将这一组接口按照公式:权重*100放到队列中;
5、不需要按比例压测
当不需要按比例压测时,这批接口请求无需做处理;
6、构造请求参数
此时压测接口已经确定,需要给各个接口构造请求参数。主要是针对接口中的可变参数进行替换,将接口中的可变参数替换成已经构造好的参数;
7、初始化Netty客户端
此步骤尤为重要,需要使用Netty与被压测服务器建立连接,初始化API请求记录,工作线程组,通道连接池;
8、写入HTTP请求
连接完成之后开始循环往连接成功的通道中写入构造好的HTTP请求,并且记录发送时间;
9、存储压测数据
当压测时间截止后,开启一个新的线程来统计此节点的压测数据,将数据统计完毕后会存储到Redis中;
10、统计多节点数据
在业务端有一个定时任务不断的统计任务的子节点性能数据情况,会将多有的子节点的性能数据进行汇总,性能数据最终的结果进行保存。通过邮件或者是消息的方式将结果推送给相关人员;
11、结束
至此,压力测试已经全部结束。
因此,本申请通过使用Netty做性能测试的方法,可高性能的对服务端进行性能测试。各个节点自动统计自身的压测结果。可以对接口进行单个,批量,权重等方式进行性能测试。因对Netty做了优化处理,极大的提升了客户端网络IO的吞吐能力。
本发明具备以下优点:
易用:提供了可视化页面进行操作,增强了易用性。虽然使用了分布式的多压力节点的方式,但是最终的统计结果通过任务进行自动统计,无需人工介入。
便捷:压测完成后,自动统计多压力节点的压测数据,并且通过邮件,消息的方式推送给相关人;
高效:此方法使用了NIO做底层,采用多路复用IO模型,在每个操作系统中多路复用的实现均不同。例如在Linux中,多路复用的实现内核为epoll,epoll对多路复用做了升级,在一个线程中可以监听多个输入输出源,支持更多的并发连接请求,所以该性能测试方法是非常高效的。
显然,本领域的技术人员应该明白,实现上述实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各控制的实施例的流程。本领域技术人员可以理解,实现上述实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各控制的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(FlashMemory)、硬盘(HardDiskDrive,缩写:HDD)或固态硬盘(Solid-StateDrive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
实施例
基于实施例1的实施原理,本申请另一方面,还提出一种实现所述基于Netty实现分布式HTTP接口性能测试方法的装置,包括:
API接口下发模块,用于在展示端将需要做压力测试的压力端的API接口下发到业务端;
触发模块,用于触发压力端,判断是否需要比例压测,并确定压测接口和请求参数;
Netty初始化模块,用于建立Netty客户端和被压测服务器之间的连接,初始化API请求记录,并写入HTTP请求;
响应模块,用于根据请求响应,统计并存储多节点的压测结果。
各个模块的具体使用过程,可以参见如图4所示的时序图。
当用户在展示端下发压测任务后,会从请求体/文件中拿到需要压测的明细,压测明细包含被压的服务器信息,压测的接口信息,权重,以及压测事件;
当业务端拿到压测任务后,会通过当前时间+30秒计算出任务执行时间,转化成Cron的表达式。然后去Redis中获取已注册的压力节点,通过HTTP请求的方式对压力节点下发压测任务,同时本身启动一个定时任务轮训检查任务是否执行完毕;
当各个压力节点获取到压测信息后,会对压测数据进行解析,按照权重封装压测请求,构造压测请求,将请求写入到通道中;
任务执行完毕后(到预期压测时间),开启新的线程统计压测的结果,将结果保存到Redis中;
业务端的任务检测到各个节点统计完毕后会任务结果进行汇总,将结果保存到Mysql中;
当最终结果通过邮件或消息的方式推送给个人。
上述步骤可以结合实施例1的描述进行理解。
上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
实施例
如图5所示,更进一步地,本申请另一方面,还提出一种基于Netty实现分布式HTTP接口性能测试方法电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令时实现所述的一种基于Netty实现分布式HTTP接口性能测试方法。
本公开实施例来电子设备包括处理器以及用于存储处理器可执行指令的存储器。其中,处理器被配置为执行可执行指令时实现前面任一所述的一种基于Netty实现分布式HTTP接口性能测试方法。
此处,应当指出的是,处理器的个数可以为一个或多个。同时,在本公开实施例的电子设备中,还可以包括输入装置和输出装置。其中,处理器、存储器、输入装置和输出装置之间可以通过总线连接,也可以通过其他方式连接,此处不进行具体限定。
存储器作为一计算机可读存储介质,可用于存储软件程序、计算机可执行程序和各种模块,如:本公开实施例的一种基于Netty实现分布式HTTP接口性能测试方法所对应的程序或模块。处理器通过运行存储在存储器中的软件程序或模块,从而执行电子设备的各种功能应用及数据处理。
输入装置可用于接收输入的数字或信号。其中,信号可以为产生与设备/终端/服务器的用户设置以及功能控制有关的键信号。输出装置可以包括显示屏等显示设备。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种测试系统,使用NIO做底层,采用多路复用IO模型,在每个操作系统中多路复用,各个节点自动统计自身的压测结果,能够对HTTP接口进行单个,批量,权重方式进行性能测试,其特征在于,包括:
展示端,提供可视化操作页面,触发压测请求;
业务端,提供下发压测任务、压力端节点注册和压测结果统计的能力;包含:
web提供Http服务;
Core提供Interface,Entity,Patrol做业务处理;
performance处理压力请求的前置数据,计算压测任务开始时间;
job负责最终多节点的压测性能结果统计;
业务端会将当前时间延迟30秒转成CRON表达式下发到压力端;
压力端,提供压力端分布式部署,基于Netty框架,启动完毕后自动把当前节点元数据注册到业务端;压力端收到压测请求后,会自动创建一个固定时间的定时任务;判断是否需要比例压测,并确定压测接口和请求参数;
压力端判断是否需要比例压测:
在软件中某些接口在的访问频次并没有那么高,所以在批量或者场景压测中,这些接口的权重会被降低,其他容易被高频访问的接口权重会提升:
需要按比例压测:当需要按照比例压测时,会将这一组接口按照公式:权重*100放到队列中;
不需要按比例压测:当不需要按比例压测时,这批接口请求无需做处理;
持久层,提供数据存储。
2.一种基于Netty实现分布式HTTP接口性能测试方法,基于权利要求1所述测试系统进行实施,其特征在于,包括如下步骤:
在展示端将需要做压力测试的压力端的API接口下发到业务端;
触发压力端,判断是否需要比例压测,并确定压测接口和请求参数;
建立Netty客户端和被压测服务器之间的连接,初始化API请求记录,并写入HTTP请求;
根据请求响应,统计并存储多节点的压测结果。
3.根据权利要求2所述的基于Netty实现分布式HTTP接口性能测试方法,其特征在于,在展示端将需要做压力测试的压力端的API接口下发到业务端之前,还包括:
各个压力端在启动完成后,将本压力节点的节点元数据注册到压力端的Redis中;
当业务端有性能测试的请求后,业务端去redis拉取已注册的压力节点,并将性能测试的基础数据下发给各个需要做压力测试的压力端。
4.根据权利要求2所述的基于Netty实现分布式HTTP接口性能测试方法,其特征在于,API接口信息,包括:
接口域名/HOST,端口;
接口的URI信息;
接口的Header信息;
接口的请求方式;
接口的请求参数,如果需要可变参数,使用固定语法${Param}的方式,在压测时会根据创造好的数据自动替换参数;
压测的时间。
5.根据权利要求2所述的基于Netty实现分布式HTTP接口性能测试方法,其特征在于,触发压力端,判断是否需要比例压测,并确定压测接口和请求参数,包括:
通过业务端接收到压测请求;
在业务端接收到压测请求时,获取已经注册到业务端的压力节点,并按照预设的定时方案,通过HTTP请求的方式把压力测试的信息下发到各个压力节点;
各个压力节点收到压测请求后,自动创建对应固定时间的定时任务。
6.根据权利要求5所述的基于Netty实现分布式HTTP接口性能测试方法,其特征在于,触发压力端,判断是否需要比例压测,并确定压测接口和请求参数,还包括:
执行各个压力节点的定时任务;
判断各个压力节点的访问接口是否需要比例压测:
是,则按照预设比例整理请求,获取整理后的压测请求;否,则直接获取压测请求;
根据压测请求确定压测接口,并构造各个接口的请求参数。
7.根据权利要求6所述的基于Netty实现分布式HTTP接口性能测试方法,其特征在于,建立Netty客户端和被压测服务器之间的连接,初始化API请求记录,并写入HTTP请求,包括:
初始化Netty客户端;
使用Netty客户端与被压测服务器建立连接,初始化API请求记录、工作线程组和通道连接池;
循环往连接成功的通道中写入构造好的HTTP请求,并且记录发送时间,获取各个压力节点的压测数据。
8.根据权利要求7所述的基于Netty实现分布式HTTP接口性能测试方法,其特征在于,根据请求响应,统计并存储多节点的压测结果,包括:
在业务端上执行各个定时任务,并统计各个压力节点的压测数据;
将各个压力节点的压测数据存储至持久层;
通过业务端将各个压力节点的压测数据推送至前端。
9.一种实现权利要求2-8中任一项所述基于Netty实现分布式HTTP接口性能测试方法的装置,其特征在于,包括:
API接口下发模块,用于在展示端将需要做压力测试的压力端的API接口下发到业务端;
触发模块,用于触发压力端,判断是否需要比例压测,并确定压测接口和请求参数;
Netty初始化模块,用于建立Netty客户端和被压测服务器之间的连接,初始化API请求记录,并写入HTTP请求;
响应模块,用于根据请求响应,统计并存储多节点的压测结果。
10.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令时实现权利要求2-8中任一项所述基于Netty实现分布式HTTP接口性能测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310413115.2A CN116501559B (zh) | 2023-04-18 | 2023-04-18 | 基于Netty实现分布式HTTP接口性能测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310413115.2A CN116501559B (zh) | 2023-04-18 | 2023-04-18 | 基于Netty实现分布式HTTP接口性能测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116501559A CN116501559A (zh) | 2023-07-28 |
CN116501559B true CN116501559B (zh) | 2024-04-26 |
Family
ID=87319510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310413115.2A Active CN116501559B (zh) | 2023-04-18 | 2023-04-18 | 基于Netty实现分布式HTTP接口性能测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116501559B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959000A (zh) * | 2018-06-20 | 2018-12-07 | 深圳市腾讯网络信息技术有限公司 | 一种服务器压力测试方法、系统及终端 |
CN109726014A (zh) * | 2018-12-29 | 2019-05-07 | 武汉斗鱼网络科技有限公司 | 基于Netty的Rpc客户端在性能测试平台中的实现方法、系统、服务器及存储介质 |
WO2020048453A1 (zh) * | 2018-09-03 | 2020-03-12 | 南京中兴软件有限责任公司 | 网元管理方法、装置、系统及存储介质 |
CN111211934A (zh) * | 2019-12-25 | 2020-05-29 | 曙光信息产业(北京)有限公司 | 集群远程通信测试方法以及系统 |
CN111694748A (zh) * | 2020-06-18 | 2020-09-22 | 行吟信息科技(武汉)有限公司 | 压力测试方法及装置 |
CN112134754A (zh) * | 2020-09-18 | 2020-12-25 | 中移(杭州)信息技术有限公司 | 压力测试方法、装置、网络设备及存储介质 |
CN112486791A (zh) * | 2020-12-14 | 2021-03-12 | 政采云有限公司 | 一种服务器集群的性能测试方法、装置及设备 |
CN115098349A (zh) * | 2022-06-21 | 2022-09-23 | 平安普惠企业管理有限公司 | 基于微服务架构的全链路压测方法、装置及设备 |
CN115794570A (zh) * | 2021-09-10 | 2023-03-14 | 顺丰科技有限公司 | 压力测试方法、装置、设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8955103B2 (en) * | 2012-01-05 | 2015-02-10 | Hightail, Inc. | System and method for decentralized online data transfer and synchronization |
-
2023
- 2023-04-18 CN CN202310413115.2A patent/CN116501559B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959000A (zh) * | 2018-06-20 | 2018-12-07 | 深圳市腾讯网络信息技术有限公司 | 一种服务器压力测试方法、系统及终端 |
WO2020048453A1 (zh) * | 2018-09-03 | 2020-03-12 | 南京中兴软件有限责任公司 | 网元管理方法、装置、系统及存储介质 |
CN109726014A (zh) * | 2018-12-29 | 2019-05-07 | 武汉斗鱼网络科技有限公司 | 基于Netty的Rpc客户端在性能测试平台中的实现方法、系统、服务器及存储介质 |
CN111211934A (zh) * | 2019-12-25 | 2020-05-29 | 曙光信息产业(北京)有限公司 | 集群远程通信测试方法以及系统 |
CN111694748A (zh) * | 2020-06-18 | 2020-09-22 | 行吟信息科技(武汉)有限公司 | 压力测试方法及装置 |
CN112134754A (zh) * | 2020-09-18 | 2020-12-25 | 中移(杭州)信息技术有限公司 | 压力测试方法、装置、网络设备及存储介质 |
CN112486791A (zh) * | 2020-12-14 | 2021-03-12 | 政采云有限公司 | 一种服务器集群的性能测试方法、装置及设备 |
CN115794570A (zh) * | 2021-09-10 | 2023-03-14 | 顺丰科技有限公司 | 压力测试方法、装置、设备及计算机可读存储介质 |
CN115098349A (zh) * | 2022-06-21 | 2022-09-23 | 平安普惠企业管理有限公司 | 基于微服务架构的全链路压测方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116501559A (zh) | 2023-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108521353B (zh) | 定位性能瓶颈的处理方法、设备及可读存储介质 | |
WO2018184361A1 (zh) | 应用程序测试方法、服务器、终端和存储介质 | |
CN110750458A (zh) | 大数据平台测试方法、装置、可读存储介质及电子设备 | |
US8046638B2 (en) | Testing of distributed systems | |
CN109344066B (zh) | 一种浏览器页面的测试方法、系统及终端 | |
CN111352836A (zh) | 一种压力测试方法及相关装置 | |
CN113887161A (zh) | 一种片上网络设计实例的验证方法、装置、设备及介质 | |
US20190034325A1 (en) | Evidence gathering system and method | |
CN116501559B (zh) | 基于Netty实现分布式HTTP接口性能测试方法 | |
CN108763052B (zh) | 一种虚拟现实软件内存回收机制的性能检测方法及系统 | |
CN105468488A (zh) | 一种基于ib网络的无盘测试cpu的方法、装置及系统 | |
CN110708211B (zh) | 网络流量测试方法及系统 | |
CN113392005A (zh) | 大文件处理测试方法及系统 | |
CN115017018A (zh) | 服务器的性能测试方法、设备和计算机可读存储介质 | |
CN111143177B (zh) | Ibm主机的rmf iii数据的收集方法、系统、装置及存储介质 | |
CN112380115A (zh) | 一种回归测试方法、装置、电子设备及存储介质 | |
CN113448867A (zh) | 一种软件压力测试方法及装置 | |
CN114518984A (zh) | 一种埋点信息的上报方法、装置、存储介质及终端设备 | |
CN113515425A (zh) | 数据动态上报的方法和装置 | |
WO2015161616A1 (zh) | 数据的采集方法、装置和系统容量的测试方法、装置 | |
CN115334153B (zh) | 服务网格的数据处理方法和装置 | |
CN107153550A (zh) | 一种基于界面的计算机故障诊断方法 | |
CN113590047B (zh) | 数据库的筛查方法、装置、电子设备及存储介质 | |
CN116048975A (zh) | 数据库测试方法、装置、电子设备及存储介质 | |
CN113342680A (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 |