CN114124747A - 一种流量压测系统 - Google Patents

一种流量压测系统 Download PDF

Info

Publication number
CN114124747A
CN114124747A CN202111203398.5A CN202111203398A CN114124747A CN 114124747 A CN114124747 A CN 114124747A CN 202111203398 A CN202111203398 A CN 202111203398A CN 114124747 A CN114124747 A CN 114124747A
Authority
CN
China
Prior art keywords
flow
pressure measurement
instruction
module
service unit
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
Application number
CN202111203398.5A
Other languages
English (en)
Other versions
CN114124747B (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.)
Weimeng Chuangke Network Technology China Co Ltd
Original Assignee
Weimeng Chuangke Network Technology China Co 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 Weimeng Chuangke Network Technology China Co Ltd filed Critical Weimeng Chuangke Network Technology China Co Ltd
Priority to CN202111203398.5A priority Critical patent/CN114124747B/zh
Publication of CN114124747A publication Critical patent/CN114124747A/zh
Application granted granted Critical
Publication of CN114124747B publication Critical patent/CN114124747B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Abstract

本发明实施例提供了一种流量压测系统,该系统包括:控制台、流量抓取单元和压测服务单元;其中,所述控制台,用于根据任务配置信息分别向所述流量抓取单元和压测服务单元发送第一指令和第二指令;所述流量抓取单元,用于根据所述第一指令抓取第一流量,并发送给所述压测服务单元;所述压测服务单元,用于根据所述第二指令对接收到的第一流量执行与所述第二指令对应的压测操作。通过本发明实施例,实现了对RPC流量快速抓取和压测操作,降低了用户的使用门槛,大幅降低人力物力成本,压测操作可以根据情况实现自动集群化压测,回放操作时对于流量放大可以精细化的调控。

Description

一种流量压测系统
技术领域
本发明涉及网络数据技术领域,尤其涉及一种流量压测系统。
背景技术
在对系统进行自动化测试的过程中,需要通过录制线上流量,在开发或者测试环境回放,来发现系统是否能够正常运行,降低代码变动整体系统带来的风险。
当前进行流量录制和测量的工具有很多,例如Gor、tcpreplay、tcpcopy、jmeter、ab、webbench、http_load等,这些工具虽然可以录制流量,但这些工作或多或少存在以下缺点:使用起来都很复杂,要投入大量的人力物力,无法快速对流量进行全面的指标性能评估。
发明内容
本发明实施例的目的是提供一种流量压测系统,以解决使用起来都很复杂,要投入大量的人力物力,无法快速对流量进行全面的指标性能评估的问题。
为了解决上述技术问题,本发明实施例是这样实现的:
第一方面,本发明实施例提供了一种流量压测系统,包括:控制台、流量抓取单元和压测服务单元;
其中,所述控制台,用于根据任务配置信息分别向所述流量抓取单元和压测服务单元发送第一指令和第二指令;
所述流量抓取单元,用于根据所述第一指令抓取第一流量,并发送给所述压测服务单元;其中,所述第一流量为基于远程过程调用请求产生的流量;
所述压测服务单元,用于根据所述第二指令对接收到的第一流量执行与所述第二指令对应的压测操作。
由以上本发明实施例提供的技术方案可见,本发明实施例通过控制台、流量抓取单元和压测服务单元;其中,所述控制台,用于根据任务配置信息分别向所述流量抓取单元和压测服务单元发送第一指令和第二指令;所述流量抓取单元,用于根据所述第一指令抓取第一流量,并发送给所述压测服务单元;所述压测服务单元,用于根据所述第二指令对接收到的第一流量执行对应的压测操作。通过本发明实施例,实现了对RPC流量快速抓取和压测操作,降低了用户的使用门槛,大幅降低人力物力成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的流量压测系统的一种结构示意图;
图2为本发明实施例提供的流量抓取单元的一种结构示意图;
图3为本发明实施例提供的压测服务单元的一种结构示意图。
具体实施方式
本发明实施例提供了一种流量压测系统。
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
如图1所示,本发明实施例提供一种流量压测系统。所述系统包括:控制台10、流量抓取单元11和压测服务单元12;
其中,所述控制台10用于根据任务配置信息分别向所述流量抓取单元11和压测服务单元12发送第一指令和第二指令;所述流量抓取单元11用于根据所述第一指令抓取第一流量,并发送给所述压测服务单元12;其中,所述第一流量为基于远程过程调用请求产生的流量;所述压测服务单元12用于根据所述第二指令对接收到的第一流量执行与所述第二指令对应的压测操作。
其中,所述第一流量为基于远程过程调用(Remote Procedure Call,RPC)请求产生的流量,可称为RPC流量,包括用户发送的RPC请求,以及对应的响应。
所述控制台10可以为web控制台,用户可通过web控制台设置任务配置信息,即设置任务的相关参数,从而使流量压测系统根据用户的设置全程自动化执行对流量的抓取操作和压测操作。并且,可以实现周期化运作。
控制台10根据设置的任务配置信息向流量抓取单元11发送第一指令,向压测服务单元12发送第二指令。
所述第一指令和第二指令是包含的指令信息可以多种多样,可以包含相同的指令信息,也可以为包含不同的指令信息,在一种实施方式中,所述第一指令和第二指令可用于指示执行以下至少一项任务:
实时录制;
在线回放;
离线回放。
进一步地,所述流量抓取单元11为基于Motan框架得到的MotanMesh服务,基于Motan Mesh提供的拓展能力,通过在Motan Mesh加入控制代码,实现对流量抓取单元11内部数据的控制能力。所述述流量抓取单元11在接收控制台10发送的第一指令后,将根据所述第一指令,对网络中的RPC流量执行流量抓取操作,得到第一流量,并发送给压测服务单元12和/或在线服务器。
进一步地,压测服务单元12为基于Glaucus得到的压测服务单元。所述压测服务单元12则根据第二指令执行压测操作,所述压测操作可以包括以下至少一项:
将所述第一流量存储到数据库中;
将所述第一流量发送给在线服务器;
根据接收到的第一流量向所述目标服务器执行回放操作。
所述回放操作可以为将接收到第一流量进行等比或者放大处理后离线发送给目标服务器,还可以在回放过程中修改第一流量的部分参数,例如,请求标识(Request ID)等,以模拟真实情况下的流量,使目标服务器能够正确处理,反应出服务的真实情况。
基于各任务产生的第一指令和第二指令可根据实际的需要进行设定,本申请实施例给出了其中的一种实施方式。
对于实时录制,其对应的第一指令可以为指示流量抓取单元抓取第一流量并发送给压测服务单元,对应的第二指令可以为指示所述压测服务单元将所述第一流量存储到数据库中;
对于在线回放,其对应的第一指令可以为指示流量抓取单元抓取第一流量并发送给压测服务单元和在线服务器,对应的第二指令可以为将所述第一流量存储到数据库中;或者,其对应的第一指令可以为指示流量抓取单元抓取第一流量并发送给压测服务单元,对应的第二指令可以为指示所述压测服务单元将所述第一流量存储到数据库中,并将所述第一流量发送给在线服务器;
对于离线回放,其对应的第二指令可以为指示所述压测服务单元根据数据库中接收到的第一流量向所述目标服务器执行回放操作。
由以上本发明实施例提供的技术方案可见,本发明实施例通过控制台、流量抓取单元和压测服务单元;其中,所述控制台,用于根据任务配置信息分别向所述流量抓取单元和压测服务单元发送第一指令和第二指令;所述流量抓取单元,用于根据所述第一指令抓取第一流量,并发送给所述压测服务单元;所述压测服务单元,用于根据所述第二指令对接收到的第一流量执行对应的压测操作。通过本发明实施例,实现了对RPC流量快速抓取和压测操作,降低了用户的使用门槛,大幅降低人力物力成本。
基于上述实施例,进一步的,如图2所示,所述流量抓取单元11包括:第一管理接口111、流量抓取模块112和工作台113;
其中,所述第一管理接口111用于从所述控制台10接收所述第一指令并发送给所述流量抓取模块112和工作台113;所述流量抓取模块112用于根据所述第一指令抓取基于RPC请求产生的第一流量,并处理后发送给所述工作台113;所述工作台113用于根据所述第一指令将所述第一流量发送给压测服务单元12。
所述第一管理接口111可以为API管理接口,所述第一管理接口111在接收到第一指令后,将流量抓取模块112开始工作,由流量过滤器(Filer)对网络中的流量进行,以得到基于RPC请求产生的第一流量。所述流量过滤器还可以根据实际的需要从所有基于RPC请求产生的第一流量中筛选出实际需要抓取的第一流量。通过流量队列和异步处理器对第一流量进行处理后,根据由第一指令在工作台113建立的任务对第一流量进行处理。
在一种实施方式中,在所述第一指令中包含实时录制或离线回放的情况下,所述工作台113将通过流量队列和异步处理器将抓取到的第一流量发送给所述压测服务单元12。
所述流量抓取单元11与压测服务单元12之间的数据传输可通过私有协议,使用TCP链接进行传输。
在另一种实施该节中,在所述第一指令中包含在线回放的情况下,所述工作台113还用于根据所述第一指令将所述第一流量发送给在线服务器13。
如图3所示,所述压测服务单元12包括:第二管理接口121、任务管理器122、流量接收模块123、录制模块124、回放模块125;
其中,所述第二管理接口121用于从所述控制台10接收第二指令并发送给所述任务管理器122;所述任务管理器122用于生成与所述第二指令对应的压测操作的任务,并基于所述压测操作的任务以调度所述流量接收模块、录制模块和回放模块来执行相关操作;所述流量接收模块123用于从所述流量抓取单元11接收第一流量;所述录制模块124用于将所述第一流量存储到数据库15;所述回放模块125用于根据所述第一流量向目标服务器14执行回放操作。
如图3所示,任务A、任务B和任务C为任务管理器122根据接收到的第二指令产生的压测操作的任务。基于各压测操作的任务可根据需要分别调用流量接收模块123、录制模块124和回放模块125来实现对应的压测操作的各相关操作。
通过调用流量接收模块123从流量抓取单元11接收第一流量。
通过调用所述录制模块124,由本地文件子模块将第一流量的数据保存到本地文件中,也可以由网络文件子模块将第一流量的数据录制到数据库15中。通过调用回放模块125,对第一流量进行等比或者放大处理后离线回放给目标服务器14,还可以将接收到第一流量在线回放给在线服务器。
进一步地,所述压测服务单元12还包括上报模块126,所述上报模块126用于向所述控制台10上报所述压测操作的相关信息。通过调用上报模块126,将各压测操作的任务在执行过程中产生或统计的相关信息上报给控制台10,以使控制台10产生对应的实时报表或离线报表。
进一步地,所述压测服务单元12还包括:压测指标统计模块127;
其中,所述压测指标统计模块,用于对所述压测操作过程中的压测指标进行统计并上报给所述控制台10。
进一步地,所述压测指标包括:
请求耗时,所述请求耗时用于指示超过目标比例的远程过程调用请求的耗时;所述请求消息可以表示为Pxx耗时,例如,P99=200ms,表示99%的RPC请求耗时低于200ms;
平均(Mean)耗时,所述平均耗时用于指示所有远程过程调用请求的平均耗时;
每秒查询率(Queries Per Second,QPS),所述每秒查询率用于指示每秒发生的远程过程调用请求的次数;
每秒查询成功率(SPS),所述每秒查询成功率用于指示每秒发生的远程过程调用请求成功的次数;
每秒查询失败率(EPS),所述每秒查询失败率用于指示每秒发生的远程过程调用请求失败的次数;
服务容量,所述服务容量表示程序服务正常流畅动作的前提下,服务能够承受的最大QPS。
所述压测指标还可以包括:内存和CPU的相关指标信息。
通过上报模块126可以将上述压测指标上传给控制台10,从而使控制台10根据压测指标导出交互式报表,并提供下载或者在线浏览。
由以上本发明实施例提供的技术方案可见,本发明实施例通过流量抓取单元包括:第一管理接口、流量抓取模块和工作台;压测服务单元包括:第二管理接口、任务管理器、流量接收模块、录制模块、回放模块和上报模块。实现了对RPC流量快速抓取和压测操作,降低了用户的使用门槛,大幅降低人力物力成本,压测操作可以根据情况实现自动集群化压测,回放操作时对于流量放大可以精细化的调控,评估的指标专业而且全面和精准。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、装置或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种流量压测系统,其特征在于,所述系统包括:控制台、流量抓取单元和压测服务单元;
其中,所述控制台,用于根据任务配置信息分别向所述流量抓取单元和压测服务单元发送第一指令和第二指令;
所述流量抓取单元,用于根据所述第一指令抓取基于远程过程调用请求产生的第一流量,并发送给所述压测服务单元;
所述压测服务单元,用于根据所述第二指令对接收到的第一流量执行与所述第二指令对应的压测操作。
2.根据权利要求1所述的系统,其特征在于,所述流量抓取单元包括:第一管理接口、流量抓取模块和工作台;
其中,所述第一管理接口,用于从所述控制台接收所述第一指令并发送给所述流量抓取模块和工作台;
所述流量抓取模块,用于根据所述第一指令抓取基于远程过程调用请求产生的第一流量,并处理后发送给所述工作台;
所述工作台,用于根据所述第一指令将所述第一流量发送给压测服务单元。
3.根据权利要求2所述的系统,其特征在于,所述工作台还用于根据所述第一指令将所述第一流量发送给在线服务器。
4.根据权利要求1所述的系统,其特征在于,所述压测服务单元包括:第二管理接口、任务管理器、流量接收模块、录制模块和回放模块;
其中,所述第二管理接口,用于从所述控制台接收第二指令并发送给所述任务管理器;
所述任务管理器,用于生成与所述第二指令对应的压测操作的任务,并基于所述压测操作的任务调度所述流量接收模块、录制模块和回放模块来执行相关操作;
所述流量接收模块,用于从所述流量抓取单元接收所述第一流量;
所述回放模块,用于根据所述第一流量向目标服务器执行回放操作;
所述录制模块,用于将所述第一流量存储到数据库。
5.根据权利要求4所述的系统,其特征在于,所述压测服务单元还包括:
上报模块,用于向所述控制台上报所述压测操作的相关信息。
6.根据权利要求4所述的系统,其特征在于,所述压测服务单元还包括:压测指标统计模块;
其中,所述压测指标统计模块,用于对所述压测操作过程中的压测指标进行统计并上报给所述控制台。
7.根据权利要求6所述的系统,其特征在于,所述压测指标包括:
请求耗时,用于指示超过目标比例的远程过程调用请求的耗时;
平均耗时,用于指示所有远程过程调用请求的平均耗时;
每秒查询率,用于指示每秒发生的远程过程调用请求的次数;
每秒查询成功率,用于指示每秒发生的远程过程调用请求成功的次数;
每秒查询失败率,用于指示每秒发生的远程过程调用请求失败的次数。
8.根据权利要求1-7任一所述的系统,其特征在于,所述第一指令和第二指令用于指示执行以下至少一项任务:
实时录制;
在线回放;
离线回放。
9.根据权利要求1-7任一所述的系统,其特征在于,所述流量抓取单元为基于Motan框架得到的Motan Mesh服务。
10.根据权利要求1-7任一所述的系统,其特征在于,所述压测服务单元为基于Glaucus得到的压测服务单元。
CN202111203398.5A 2021-10-15 2021-10-15 一种流量压测系统 Active CN114124747B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111203398.5A CN114124747B (zh) 2021-10-15 2021-10-15 一种流量压测系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111203398.5A CN114124747B (zh) 2021-10-15 2021-10-15 一种流量压测系统

Publications (2)

Publication Number Publication Date
CN114124747A true CN114124747A (zh) 2022-03-01
CN114124747B CN114124747B (zh) 2024-04-30

Family

ID=80375769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111203398.5A Active CN114124747B (zh) 2021-10-15 2021-10-15 一种流量压测系统

Country Status (1)

Country Link
CN (1) CN114124747B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114900445A (zh) * 2022-04-28 2022-08-12 北京百度网讯科技有限公司 流量录制方法、装置及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020087282A1 (en) * 2000-12-29 2002-07-04 Millard Adam C. Computer network testing system and method using client playback of edited network information
CN110457199A (zh) * 2018-05-08 2019-11-15 北京京东尚科信息技术有限公司 性能测试的方法和装置
CN111294257A (zh) * 2020-03-09 2020-06-16 北京九州云动科技有限公司 应用服务器自动压力测试的方法、装置和系统
CN112564996A (zh) * 2019-09-26 2021-03-26 阿里巴巴集团控股有限公司 压力测试流量调度、控制方法、设备以及计算机可读介质
CN112559361A (zh) * 2020-12-22 2021-03-26 京东数字科技控股股份有限公司 流量回放方法、装置、设备及计算机可读介质
KR20210040293A (ko) * 2020-06-05 2021-04-13 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 압력 테스트 방법, 장치, 전자기기 및 컴퓨터 판독가능 매체

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020087282A1 (en) * 2000-12-29 2002-07-04 Millard Adam C. Computer network testing system and method using client playback of edited network information
CN110457199A (zh) * 2018-05-08 2019-11-15 北京京东尚科信息技术有限公司 性能测试的方法和装置
CN112564996A (zh) * 2019-09-26 2021-03-26 阿里巴巴集团控股有限公司 压力测试流量调度、控制方法、设备以及计算机可读介质
CN111294257A (zh) * 2020-03-09 2020-06-16 北京九州云动科技有限公司 应用服务器自动压力测试的方法、装置和系统
KR20210040293A (ko) * 2020-06-05 2021-04-13 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 압력 테스트 방법, 장치, 전자기기 및 컴퓨터 판독가능 매체
CN112559361A (zh) * 2020-12-22 2021-03-26 京东数字科技控股股份有限公司 流量回放方法、装置、设备及计算机可读介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114900445A (zh) * 2022-04-28 2022-08-12 北京百度网讯科技有限公司 流量录制方法、装置及电子设备
CN114900445B (zh) * 2022-04-28 2024-04-16 北京百度网讯科技有限公司 流量录制方法、装置及电子设备

Also Published As

Publication number Publication date
CN114124747B (zh) 2024-04-30

Similar Documents

Publication Publication Date Title
CN108874640B (zh) 一种集群性能的评估方法和装置
AU2020276284C1 (en) Continuous data sensing of functional states of networked computing devices to determine efficiency metrics for servicing electronic messages asynchronously
US9369521B2 (en) Naming of distributed business transactions
US6321263B1 (en) Client-based application availability
EP3425524A1 (en) Cloud platform-based client application data calculation method and device
US6748555B1 (en) Object-based software management
US6349325B1 (en) Prioritized agent-based hierarchy structure for handling performance metrics data in a telecommunication management system
Picoreti et al. Multilevel observability in cloud orchestration
US20170048120A1 (en) Systems and Methods for WebSphere MQ Performance Metrics Analysis
EP0957432A2 (en) Client-based application availability and response monitoring and reporting for distributed computing environments
CN106940677A (zh) 一种应用日志数据告警方法及装置
CN101297536A (zh) 用于准备在端点上执行系统管理任务的方法和系统
US20080168044A1 (en) System and method for providing performance statistics for application components
CN108762738B (zh) 平台化的数据采集系统
CN111984495A (zh) 一种大数据监控方法、装置和存储介质
CN114124747A (zh) 一种流量压测系统
CN111339466A (zh) 接口管理方法、装置、电子设备及可读存储介质
CN110262955B (zh) 基于pinpoint的应用性能监控工具
CN116842090A (zh) 一种对账系统、方法、设备及存储介质
CN111240936A (zh) 一种数据完整性校验的方法及设备
CN106341474B (zh) 一种基于icn与sdn网络的资料管控中心及其内容管理方法
CN112965793B (zh) 一种面向标识解析数据的数据仓库任务调度方法和系统
CN114598622A (zh) 数据监控方法及装置、存储介质、计算机设备
Chakraborty et al. Observability
CN111538575A (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