CN113315677A - 一种基于镜像流量的压测方法、装置、存储介质和设备 - Google Patents
一种基于镜像流量的压测方法、装置、存储介质和设备 Download PDFInfo
- Publication number
- CN113315677A CN113315677A CN202110560876.1A CN202110560876A CN113315677A CN 113315677 A CN113315677 A CN 113315677A CN 202110560876 A CN202110560876 A CN 202110560876A CN 113315677 A CN113315677 A CN 113315677A
- Authority
- CN
- China
- Prior art keywords
- flow
- mirror
- read
- preset
- triggering
- 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 114
- 238000009530 blood pressure measurement Methods 0.000 title claims abstract description 53
- 238000003860 storage Methods 0.000 title claims abstract description 28
- 230000008569 process Effects 0.000 claims abstract description 78
- 238000012360 testing method Methods 0.000 claims abstract description 74
- 238000001914 filtration Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 5
- 238000004519 manufacturing process Methods 0.000 abstract description 33
- 238000010998 test method Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 4
- 230000003321 amplification Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
Images
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/50—Testing arrangements
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种基于镜像流量的压测方法、装置、存储介质和设备,在接收到测试指令的情况下,对预设端口内的HTTP协议的请求数据进行镜像,得到镜像流量。将镜像流量写入预设的流量仓库中,触发预设控制进程按照预设速率从流量仓库中读取镜像流量,并将读取得到的镜像流量写入预设的消息队列中。将Y个预先部署的流量拷贝进程作为消息队列的消费者,触发Y个流量拷贝进程并行从消息队列中读取X个镜像流量,并将读取得到的镜像流量发送至测试环境中。通过镜像的方式将生产环境流量复制到测试环境使用,不会对生产环境的实际请求产生任何影响。可见,利用本申请所述的方案,能够显著提高压测结果的准确性,保证压测结果与生产环境相符合。
Description
技术领域
本申请涉及软件测试领域,尤其涉及一种基于镜像流量的压测方法、装置、存储介质和设备。
背景技术
目前常用的压测(压测具体是指:向测试环境发送请求数据,用以观察测试环境的负载能力)工具,例如Jmeter、以及tsung等,均是使用人工配置的url和参数对测试环境进行压测,其产生的请求与生产环境的实际流量(在本技术领域内,请求数据都称之为访问流量,即简称为流量)存在一定的差异,致使测试环境的压测结果与实际生产环境的性能存在偏差。
为此,如何提高压测结果的准确性,保证压测结果与生产环境相符合,成为本领域亟需解决的问题。
发明内容
本申请提供了一种基于镜像流量的压测方法、装置、存储介质和设备,目的在于提高压测结果的准确性,保证压测结果与生产环境相符合。
为了实现上述目的,本申请提供了以下技术方案:
一种基于镜像流量的压测方法,包括:
在接收到测试指令的情况下,对预设端口内的HTTP协议的请求数据进行镜像,得到镜像流量;
将所述镜像流量写入预设的流量仓库中;
触发预设控制进程按照预设速率从所述流量仓库中读取所述镜像流量,并将读取得到的所述镜像流量写入预设的消息队列中;
将Y个预先部署的流量拷贝进程作为所述消息队列的消费者,触发Y个所述流量拷贝进程并行从所述消息队列中读取X个所述镜像流量,并将读取得到的所述镜像流量发送至测试环境中;其中,Y和X均为正整数。
可选的,还包括:
实时检测所述流量仓库中所述镜像流量的存放时间;
在检测到所述存放时间大于预设时长的情况下,将所述镜像流量从所述流量仓库中剔除。
可选的,所述触发Y个所述流量拷贝进程并行从所述消息队列中读取X个所述镜像流量,并将读取得到的所述镜像流量发送至测试环境中,包括:
预先触发一个所述流量拷贝进程从所述消息队列中读取X个所述镜像流量,并将读取得到的所述镜像流量发送至测试环境中;
按照预设时间间隔,调整所述流量拷贝进程的触发数量,使得所述流量拷贝进程的触发数量由一个逐渐增加至Y个。
可选的,还包括:
预先部署多层代理服务;
控制所述代理服务对所述镜像流量中所包含的目标流量进行过滤;其中,所述目标流量包括会对所述测试环境的线上数据造成影响的请求数据。
一种基于镜像流量的压测装置,包括:
镜像单元,用于在接收到测试指令的情况下,对预设端口内的HTTP协议的请求数据进行镜像,得到镜像流量;
写入单元,用于将所述镜像流量写入预设的流量仓库中;
第一触发单元,用于触发预设控制进程按照预设速率从所述流量仓库中读取所述镜像流量,并将读取得到的所述镜像流量写入预设的消息队列中;
第二触发单元,用于将Y个预先部署的流量拷贝进程作为所述消息队列的消费者,触发Y个所述流量拷贝进程并行从所述消息队列中读取X个所述镜像流量,并将读取得到的所述镜像流量发送至测试环境中;其中,Y和X均为正整数。
可选的,还包括:
检测单元,用于实时检测所述流量仓库中所述镜像流量的存放时间;
所述检测单元,还用于在检测到所述存放时间大于预设时长的情况下,将所述镜像流量从所述流量仓库中剔除。
可选的,所述第二触发单元用于:
预先触发一个所述流量拷贝进程从所述消息队列中读取X个所述镜像流量,并将读取得到的所述镜像流量发送至测试环境中;
按照预设时间间隔,调整所述流量拷贝进程的触发数量,使得所述流量拷贝进程的触发数量由一个逐渐增加至Y个。
可选的,还包括:
过滤单元,用于预先部署多层代理服务;
所述过滤单元,还用于控制所述代理服务对所述镜像流量中所包含的目标流量进行过滤;其中,所述目标流量包括会对所述测试环境的线上数据造成影响的请求数据。
一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序执行所述的基于镜像流量的压测方法。
一种基于镜像流量的压测设备,包括:处理器、存储器和总线;所述处理器与所述存储器通过所述总线连接;
所述存储器用于存储程序,所述处理器用于运行程序,其中,所述程序运行时执行所述的基于镜像流量的压测方法。
本申请提供的技术方案,在接收到测试指令的情况下,对预设端口内的HTTP协议的请求数据进行镜像,得到镜像流量。将镜像流量写入预设的流量仓库中,触发预设控制进程按照预设速率从流量仓库中读取镜像流量,并将读取得到的镜像流量写入预设的消息队列中。将Y个预先部署的流量拷贝进程作为消息队列的消费者,触发Y个流量拷贝进程并行从消息队列中读取X个镜像流量,并将读取得到的镜像流量发送至测试环境中,其中,Y和X均为正整数。对预设端口内的HTTP协议的请求数据进行镜像,得到镜像流量,实现通过镜像的方式将生产环境流量复制到测试环境使用,不会对生产环境的实际请求产生任何影响。此外,通过调整流量拷贝进程的触发数量,实现对测试环境的阶梯式压测,来评估测试环境的***性能,其所得到的评估结果更贴近真实的生产环境。可见,利用本申请所述的方案,能够显著提高压测结果的准确性,保证压测结果与生产环境相符合。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为申请实施例提供的一种基于镜像流量的压测方法的示意图;
图2为申请实施例提供的另一种基于镜像流量的压测方法的示意图;
图3为申请实施例提供的一种基于镜像流量的压测装置的架构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,为本申请实施例提供的一种基于镜像流量的压测方法的示意图,包括如下步骤:
S101:在生产环境的服务器上,预先部署流量拷贝进程。
其中,所谓的流量拷贝进程,既可用于抓取生产环境流量,并可以将流量发送给测试环境的工具,为本领域技术人员所熟悉的公知常识。在本申请实施例中,流量拷贝进程可以为goreplay。
S102:在接收到测试指令的情况下,对预设端口内的HTTP协议的请求数据进行镜像,得到镜像流量。
其中,生产环境对用户提供服务一般通过HTTP协议进行数据交互,HTTP协议需要监听固定端口,提供用户访问,具体的,以标准HTTP服务监听80端口为例,用户通过浏览器等方式访问服务器,就是向服务器的80端口发起HTTP请求,服务器获取到用户请求并处理完成后,再以HTTP协议将响应数据发送给用户。
在本申请实施例中,所谓的镜像,也可以称之为复制,属于本领域技术人员所熟悉的公知常识,即对生产环境的真实用户产生的请求数据进行复制,得到请求数据的副本。所谓的镜像流量,即请求数据的副本。
具体的,HTTP协议的请求数据包括但不限于为:Request_URL、Request_Method、以及Request_Header等数据,Request_Header中又包含有Host、Cookie、User-Agent、Remote-IP等标准HTTP协议中的数据。
需要说明的是,除了接收用户(即测试人员)下发的测试指令之外,还可以接收预设进程定时下发的测试指令。所谓的预设进程,包括但不限为crontab管理进程(即现有的定时任务调度管理工具)。
S103:将镜像流量写入预设的流量仓库中,并实时检测流量仓库中镜像流量的存放时间。
其中,流量仓库中每个镜像流量的存放时间,均用于指示镜像流量在流量仓库中所存放的时间。
S104:在检测到镜像流量的存放时间大于预设时长的情况下,将镜像流量从流量仓库中剔除。
其中,针对流量仓库中的每个镜像流量,在检测到镜像流量的存放时间大于预设时长的情况下,将镜像流量从流量仓库中剔除,可以保证流量仓库中所存放的镜像流量均为最新的流量。
S105:触发预设控制进程按照预设速率从流量仓库中读取镜像流量,并将读取得到的镜像流量写入预设的消息队列中。
其中,预设控制进程,用于控制压测速度,可以理解为:控制从流量仓库中读取镜像流量的速率。具体的,假设压测需求是每秒产生最高1000个请求,但需要分10次递增,即将预设的压测时间周期分10个阶段,从每秒读取100个镜像流量开始,每次可递增100个镜像流量,当前流量仓库中有100万个镜像流量(即100万个请求数据),故触发预设控制进程按照每秒读取100个镜像流量的速率从流量仓库中读取镜像流量,并将读取得到的镜像流量写入预设的消息队列中。
需要说明的是,预设控制进程是采用Ratelimit令牌桶的方式,控制从流量仓库中读取镜像流量的速率。此外,本申请实施例所述的消息队列,包括但不限于为kafka队列。
S106:将Y个流量拷贝进程作为消息队列的消费者,触发Y个流量拷贝进程并行从消息队列中读取X个镜像流量,并将读取得到的镜像流量发送至测试环境中。
其中,X和Y均为正整数,每个流量拷贝进程从消息队列中读取的镜像流量的数量可以是相同,X的具体取值可由技术人员根据实际的压测需求进行设置,此外,Y的具体取值也可以由技术人员根据实际的压测需求进行设置。Y个流量拷贝进程并行将读取得到的镜像流量发送至测试环境中,则测试环境将会得到X×Y个镜像流量。
需要说明的是,上述S105提及的“触发预设控制进程按照预设速率从流量仓库中读取镜像流量,并将读取得到的镜像流量写入预设的消息队列中”,以及S106提及的“将Y个流量拷贝进程作为消息队列的消费者,触发Y个流量拷贝进程并行从消息队列中读取X个镜像流量,并将读取得到的镜像流量发送至测试环境中”,两个过程为相互独立的,具体的,可以将预设控制进程作为生产者,将流量拷贝进程作为消费者,构建生产者消费者模式(生产者消费者模式的具体实现原理,为本领域技术人员所熟悉的公知常识,这里不再赘述)。
需要强调的是,由于流量拷贝进程的触发数量可控、且每个流量拷贝进程所读取的镜像流量的数量可控,因此,利用本实施例所述方法,不仅能够实现精准的流量控制,并且通过调整流量拷贝进程的触发数量,还能够实现对测试环境的阶梯式压测。
可选的,预先触发一个流量拷贝进程从消息队列中读取X个镜像流量,并将读取得到的镜像流量发送至测试环境中,而后按照预设时间间隔,调整流量拷贝进程的触发数量,使得流量拷贝进程的触发数量由一个逐渐增加至Y个。
S107:检测测试环境的负载能力。
其中,检测测试环境的负载能力的具体实现方式,为本领域技术人员所熟悉的公知常识,这里不再赘述。
在本申请实施例中,对生产环境镜像产生的流量(即镜像流量),其接口分布比例、入参、请求header等各类指标与生产环境完全一致,用这种数据进行压测,更贴合生产环境实际情况,结果准确性更高。通过镜像的方式,将生产环境流量复制到测试环境使用,不会对生产环境的实际请求产生任何影响。除此之外,通过调整流量拷贝进程的触发数量,实现对测试环境的阶梯式压测,来评估测试环境的***性能,其所得到的评估结果更贴近真实的生产环境。
可选的,为了便于调整压测的参数(例如、镜像流量的初始化数量、镜像流量的放大倍数、压测所耗费的时间),还可以使用开源的kubernetes工具,将上述S105和S106进行容器化处理,从而满足压测的自动化测试需求。
可选的,为了避免镜像流量对测试环境的线上数据造成影响,还可以预先部署多层代理服务,控制代理服务对镜像流量中所包含的目标流量进行过滤,目标流量包括会对测试环境的线上数据造成影响的请求数据。
综上所述,对预设端口内的HTTP协议的请求数据进行镜像,得到镜像流量,实现通过镜像的方式将生产环境流量复制到测试环境使用,不会对生产环境的实际请求产生任何影响。此外,通过调整流量拷贝进程的触发数量,实现对测试环境的阶梯式压测,来评估测试环境的***性能,其所得到的评估结果更贴近真实的生产环境。可见,利用本实施例所述的方案,能够显著提高压测结果的准确性,保证压测结果与生产环境相符合。
需要说明的是,上述实施例提及的S101,为本申请所述基于镜像流量的压测方法的一种可选的具体实现方式。此外,上述实施例提及的S104,也为本申请所述基于镜像流量的压测方法的一种可选的具体实现方式。为此,上述实施例提及的流程,可以概括为图2所示的方法。
如图2所示,为本申请实施例提供的另一种基于镜像流量的压测方法的示意图,包括如下步骤:
S201:在接收到测试指令的情况下,对预设端口内的HTTP协议的请求数据进行镜像,得到镜像流量。
S202:将镜像流量写入预设的流量仓库中。
S203:触发预设控制进程按照预设速率从流量仓库中读取镜像流量,并将读取得到的镜像流量写入预设的消息队列中。
S204:将Y个预先部署的流量拷贝进程作为消息队列的消费者,触发Y个流量拷贝进程并行从消息队列中读取X个镜像流量,并将读取得到的镜像流量发送至测试环境中。
其中,Y和X均为正整数。
综上所述,对预设端口内的HTTP协议的请求数据进行镜像,得到镜像流量,实现通过镜像的方式将生产环境流量复制到测试环境使用,不会对生产环境的实际请求产生任何影响。此外,通过调整流量拷贝进程的触发数量,实现对测试环境的阶梯式压测,来评估测试环境的***性能,其所得到的评估结果更贴近真实的生产环境。可见,利用本实施例所述的方案,能够显著提高压测结果的准确性,保证压测结果与生产环境相符合。
与上述本申请实施例提供的基于镜像流量的压测方法相对应,本申请实施例还提供了一种基于镜像流量的压测装置。
如图3所示,为本申请实施例提供的一种基于镜像流量的压测装置的架构示意图,包括:
镜像单元100,用于在接收到测试指令的情况下,对预设端口内的HTTP协议的请求数据进行镜像,得到镜像流量。
写入单元200,用于将镜像流量写入预设的流量仓库中。
检测单元300,用于实时检测流量仓库中镜像流量的存放时间。
其中,检测单元300还用于在检测到存放时间大于预设时长的情况下,将镜像流量从流量仓库中剔除。
第一触发单元400,用于触发预设控制进程按照预设速率从流量仓库中读取镜像流量,并将读取得到的镜像流量写入预设的消息队列中。
第二触发单元500,用于将Y个预先部署的流量拷贝进程作为消息队列的消费者,触发Y个流量拷贝进程并行从消息队列中读取X个镜像流量,并将读取得到的镜像流量发送至测试环境中,其中,Y和X均为正整数。
其中,第二触发单元500具体用于:预先触发一个流量拷贝进程从消息队列中读取X个镜像流量,并将读取得到的镜像流量发送至测试环境中;按照预设时间间隔,调整流量拷贝进程的触发数量,使得流量拷贝进程的触发数量由一个逐渐增加至Y个。
过滤单元600,用于预先部署多层代理服务。
其中,过滤单元600还用于控制代理服务对镜像流量中所包含的目标流量进行过滤,其中,目标流量包括会对测试环境的线上数据造成影响的请求数据。
综上所述,对预设端口内的HTTP协议的请求数据进行镜像,得到镜像流量,实现通过镜像的方式将生产环境流量复制到测试环境使用,不会对生产环境的实际请求产生任何影响。此外,通过调整流量拷贝进程的触发数量,实现对测试环境的阶梯式压测,来评估测试环境的***性能,其所得到的评估结果更贴近真实的生产环境。可见,利用本实施例所述的方案,能够显著提高压测结果的准确性,保证压测结果与生产环境相符合。
本申请还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,程序执行上述本申请提供的基于镜像流量的压测方法。
本申请还提供了一种基于镜像流量的压测设备,包括:处理器、存储器和总线。处理器与存储器通过总线连接,存储器用于存储程序,处理器用于运行程序,其中,程序运行时执行上述本申请提供的基于镜像流量的压测方法,包括如下步骤:
在接收到测试指令的情况下,对预设端口内的HTTP协议的请求数据进行镜像,得到镜像流量;
将所述镜像流量写入预设的流量仓库中;
触发预设控制进程按照预设速率从所述流量仓库中读取所述镜像流量,并将读取得到的所述镜像流量写入预设的消息队列中;
将Y个预先部署的流量拷贝进程作为所述消息队列的消费者,触发Y个所述流量拷贝进程并行从所述消息队列中读取X个所述镜像流量,并将读取得到的所述镜像流量发送至测试环境中;其中,Y和X均为正整数。
可选的,还包括:
实时检测所述流量仓库中所述镜像流量的存放时间;
在检测到所述存放时间大于预设时长的情况下,将所述镜像流量从所述流量仓库中剔除。
可选的,所述触发Y个所述流量拷贝进程并行从所述消息队列中读取X个所述镜像流量,并将读取得到的所述镜像流量发送至测试环境中,包括:
预先触发一个所述流量拷贝进程从所述消息队列中读取X个所述镜像流量,并将读取得到的所述镜像流量发送至测试环境中;
按照预设时间间隔,调整所述流量拷贝进程的触发数量,使得所述流量拷贝进程的触发数量由一个逐渐增加至Y个。
可选的,还包括:
预先部署多层代理服务;
控制所述代理服务对所述镜像流量中所包含的目标流量进行过滤;其中,所述目标流量包括会对所述测试环境的线上数据造成影响的请求数据。
本申请实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于镜像流量的压测方法,其特征在于,包括:
在接收到测试指令的情况下,对预设端口内的HTTP协议的请求数据进行镜像,得到镜像流量;
将所述镜像流量写入预设的流量仓库中;
触发预设控制进程按照预设速率从所述流量仓库中读取所述镜像流量,并将读取得到的所述镜像流量写入预设的消息队列中;
将Y个预先部署的流量拷贝进程作为所述消息队列的消费者,触发Y个所述流量拷贝进程并行从所述消息队列中读取X个所述镜像流量,并将读取得到的所述镜像流量发送至测试环境中;其中,Y和X均为正整数。
2.根据权利要求1所述的方法,其特征在于,还包括:
实时检测所述流量仓库中所述镜像流量的存放时间;
在检测到所述存放时间大于预设时长的情况下,将所述镜像流量从所述流量仓库中剔除。
3.根据权利要求1所述的方法,其特征在于,所述触发Y个所述流量拷贝进程并行从所述消息队列中读取X个所述镜像流量,并将读取得到的所述镜像流量发送至测试环境中,包括:
预先触发一个所述流量拷贝进程从所述消息队列中读取X个所述镜像流量,并将读取得到的所述镜像流量发送至测试环境中;
按照预设时间间隔,调整所述流量拷贝进程的触发数量,使得所述流量拷贝进程的触发数量由一个逐渐增加至Y个。
4.根据权利要求1所述的方法,其特征在于,还包括:
预先部署多层代理服务;
控制所述代理服务对所述镜像流量中所包含的目标流量进行过滤;其中,所述目标流量包括会对所述测试环境的线上数据造成影响的请求数据。
5.一种基于镜像流量的压测装置,其特征在于,包括:
镜像单元,用于在接收到测试指令的情况下,对预设端口内的HTTP协议的请求数据进行镜像,得到镜像流量;
写入单元,用于将所述镜像流量写入预设的流量仓库中;
第一触发单元,用于触发预设控制进程按照预设速率从所述流量仓库中读取所述镜像流量,并将读取得到的所述镜像流量写入预设的消息队列中;
第二触发单元,用于将Y个预先部署的流量拷贝进程作为所述消息队列的消费者,触发Y个所述流量拷贝进程并行从所述消息队列中读取X个所述镜像流量,并将读取得到的所述镜像流量发送至测试环境中;其中,Y和X均为正整数。
6.根据权利要求5所述的装置,其特征在于,还包括:
检测单元,用于实时检测所述流量仓库中所述镜像流量的存放时间;
所述检测单元,还用于在检测到所述存放时间大于预设时长的情况下,将所述镜像流量从所述流量仓库中剔除。
7.根据权利要求5所述的装置,其特征在于,所述第二触发单元用于:
预先触发一个所述流量拷贝进程从所述消息队列中读取X个所述镜像流量,并将读取得到的所述镜像流量发送至测试环境中;
按照预设时间间隔,调整所述流量拷贝进程的触发数量,使得所述流量拷贝进程的触发数量由一个逐渐增加至Y个。
8.根据权利要求5所述的装置,其特征在于,还包括:
过滤单元,用于预先部署多层代理服务;
所述过滤单元,还用于控制所述代理服务对所述镜像流量中所包含的目标流量进行过滤;其中,所述目标流量包括会对所述测试环境的线上数据造成影响的请求数据。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,所述程序执行权利要求1-4任一所述的基于镜像流量的压测方法。
10.一种基于镜像流量的压测设备,其特征在于,包括:处理器、存储器和总线;所述处理器与所述存储器通过所述总线连接;
所述存储器用于存储程序,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1-4任一所述的基于镜像流量的压测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110560876.1A CN113315677B (zh) | 2021-05-19 | 2021-05-19 | 一种基于镜像流量的压测方法、装置、存储介质和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110560876.1A CN113315677B (zh) | 2021-05-19 | 2021-05-19 | 一种基于镜像流量的压测方法、装置、存储介质和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113315677A true CN113315677A (zh) | 2021-08-27 |
CN113315677B CN113315677B (zh) | 2023-03-24 |
Family
ID=77374125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110560876.1A Active CN113315677B (zh) | 2021-05-19 | 2021-05-19 | 一种基于镜像流量的压测方法、装置、存储介质和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113315677B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108376112A (zh) * | 2018-02-09 | 2018-08-07 | 腾讯科技(深圳)有限公司 | 压力测试方法、装置及可读介质 |
CN109254904A (zh) * | 2018-08-31 | 2019-01-22 | 阿里巴巴集团控股有限公司 | 一种数据库压测方法、装置及电子设备 |
CN109726094A (zh) * | 2017-10-27 | 2019-05-07 | 北京京东尚科信息技术有限公司 | 压力测试的方法和装置 |
CN110198256A (zh) * | 2019-06-28 | 2019-09-03 | 上海智臻智能网络科技股份有限公司 | 互动式语音应答***的压力测试方法、客户终端核数确定方法及装置、存储介质、终端 |
CN110457199A (zh) * | 2018-05-08 | 2019-11-15 | 北京京东尚科信息技术有限公司 | 性能测试的方法和装置 |
CN110752968A (zh) * | 2019-10-16 | 2020-02-04 | 北京百度网讯科技有限公司 | 性能基准测试方法、装置、电子设备及存储介质 |
CN110768855A (zh) * | 2018-07-27 | 2020-02-07 | 北京京东尚科信息技术有限公司 | 链路化性能测试的方法和装置 |
CN110874314A (zh) * | 2018-08-29 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 压测方法、装置、设备和介质 |
CN111770002A (zh) * | 2020-06-12 | 2020-10-13 | 南京领行科技股份有限公司 | 测试数据转发控制方法、装置、可读存储介质和电子设备 |
CN111966556A (zh) * | 2020-08-18 | 2020-11-20 | 腾讯音乐娱乐科技(深圳)有限公司 | 性能压测方法、装置及服务器和计算机可读存储介质 |
-
2021
- 2021-05-19 CN CN202110560876.1A patent/CN113315677B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109726094A (zh) * | 2017-10-27 | 2019-05-07 | 北京京东尚科信息技术有限公司 | 压力测试的方法和装置 |
CN108376112A (zh) * | 2018-02-09 | 2018-08-07 | 腾讯科技(深圳)有限公司 | 压力测试方法、装置及可读介质 |
CN110457199A (zh) * | 2018-05-08 | 2019-11-15 | 北京京东尚科信息技术有限公司 | 性能测试的方法和装置 |
CN110768855A (zh) * | 2018-07-27 | 2020-02-07 | 北京京东尚科信息技术有限公司 | 链路化性能测试的方法和装置 |
CN110874314A (zh) * | 2018-08-29 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 压测方法、装置、设备和介质 |
CN109254904A (zh) * | 2018-08-31 | 2019-01-22 | 阿里巴巴集团控股有限公司 | 一种数据库压测方法、装置及电子设备 |
CN110198256A (zh) * | 2019-06-28 | 2019-09-03 | 上海智臻智能网络科技股份有限公司 | 互动式语音应答***的压力测试方法、客户终端核数确定方法及装置、存储介质、终端 |
CN110752968A (zh) * | 2019-10-16 | 2020-02-04 | 北京百度网讯科技有限公司 | 性能基准测试方法、装置、电子设备及存储介质 |
CN111770002A (zh) * | 2020-06-12 | 2020-10-13 | 南京领行科技股份有限公司 | 测试数据转发控制方法、装置、可读存储介质和电子设备 |
CN111966556A (zh) * | 2020-08-18 | 2020-11-20 | 腾讯音乐娱乐科技(深圳)有限公司 | 性能压测方法、装置及服务器和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113315677B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107480015B (zh) | 负载测试方法、装置、***、存储介质与压测服务器 | |
EP3019971B1 (en) | Methods and systems for performance monitoring for mobile applications | |
US20190238581A1 (en) | Method, apparatus and system for detecting abnormal behavior of user | |
US20170046243A1 (en) | System and method for monitoring and measuring application performance using application index | |
US20150120914A1 (en) | Service monitoring system and service monitoring method | |
JP3974608B2 (ja) | ホスト・トランザクション処理システム内の動的トランザクション制御 | |
JP4573179B2 (ja) | 性能負荷異常検出システム、性能負荷異常検出方法、及びプログラム | |
CN110191159B (zh) | 一种资源服务器的负载调节方法及***、设备 | |
CN109560976B (zh) | 一种消息延迟的监控方法及装置 | |
CN106685752B (zh) | 一种信息处理方法及终端 | |
JPWO2005017736A1 (ja) | ディスクアレイ装置におけるボトルネックを検出するシステムおよびプログラム | |
JP2007334716A (ja) | 運用管理システム、監視装置、被監視装置、運用管理方法及びプログラム | |
CN111478792B (zh) | 一种割接信息处理方法、***及装置 | |
US11570126B2 (en) | System, client terminal, control method, and storage medium | |
CN113315677B (zh) | 一种基于镜像流量的压测方法、装置、存储介质和设备 | |
CN103916463B (zh) | 一种网络访问统计分析方法及*** | |
CN113676377B (zh) | 基于大数据的在线用户数评估方法、装置、设备及介质 | |
US9311026B2 (en) | Information processing apparatus, information processing method, and non-transitory computer-readable medium | |
CN112615754A (zh) | 基于大数据的网络波动安全处理方法和装置 | |
CN109542725A (zh) | 一种分布式***的服务质量监控方法、装置及监控服务器 | |
CN111367774A (zh) | 检测方法及装置 | |
CN117251337B (zh) | 微服务健康拨测方法、装置、设备及存储介质 | |
CN110489967B (zh) | 程序运行风险的分析方法及装置 | |
CN113590047B (zh) | 数据库的筛查方法、装置、电子设备及存储介质 | |
WO2024066770A1 (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 |