一种压测方法、装置、电子设备及存储介质制造方法及图纸

技术编号:27006079 阅读:14 留言:0更新日期:2021-01-08 17:08
本申请实施例提供一种压测方法、装置、电子设备及存储介质,涉及压测技术领域。该方法包括:接收客户端发送的请求消息;通过预先设置的拦截位点进行拦截所述请求消息并从所述请求消息中获取带有染色标记的至少一条请求消息;在将所述请求消息在跨线程和/或跨进程执行并生成压测流量过程中,将所述染色标记进行相应传递;将所述请求消息所产生的压测流量保存至影子表中,通过染色标记区分染色数据和生产数据,并隔离存储,解决了现有方法需要手动将生产表中压测产生的脏数据清除掉,为压测人员增加了大量的工作量的问题。

【技术实现步骤摘要】
一种压测方法、装置、电子设备及存储介质
本申请涉及压测
,具体而言,涉及一种压测方法、装置、电子设备及存储介质。
技术介绍
现代企业应用服务为了应对大规模流量访问,需经常性进行压力测试,以评估应用服务的流量承载能力,在对应用服务进行压力测试时,一般通过脚本构造压测数据,再通过压测引擎实施压测。现有的压测方法,在压测过程中,不仅产生大量的脏数据,而且压测结束后需要手动将生产表中压测产生的脏数据清除掉,为压测人员增加了大量的工作量。
技术实现思路
本申请实施例的目的在于提供一种压测方法、装置、电子设备及存储介质,通过染色标记区分染色数据和生产数据,并隔离存储,解决了现有方法需要手动将生产表中压测产生的脏数据清除掉,为压测人员增加了大量的工作量的问题。本申请实施例提供了一种压测方法,所述方法包括:接收客户端发送的请求消息;通过预先设置的拦截位点进行拦截所述请求消息并从所述请求消息中获取带有染色标记的至少一条请求消息;在将所述请求消息在跨线程和/或跨进程执行并生成压测流量过程中,将所述染色标记进行相应传递;将所述请求消息所产生的压测流量保存至影子表中。在上述实现过程中,通过在压测流量中添加染色标记,并将染色标记进行跨线程和跨线程传递,从而实现全链路透传,并将染色数据和生产数据的隔离(染色数据动态存入影子表,生产数据存入生产表),避免了压测人员在每次压测完成后,清除生产表中的脏数据的操作,节约了工作时间,提高了效率,解决了现有方法需要手动将生产表中压测产生的脏数据清除掉,为压测人员增加了大量的工作量的问题;并且通过染色标记实现了生产数据和染色数据的动态隔离,染色数据不影响生产数据,因此压测可以随时在线上集群环境进行,而不影响实际业务的正常运行。进一步地,所述通过预先设置的拦截位点进行拦截所述请求消息并从所述请求消息中获取带有染色标记的至少一条请求消息,包括:在线程池获取线程执行异步调用的方法之前,通过预先设置的拦截位点进行拦截,以将当前线程的染色标记传递给子线程;在所述子线程执行之前,将所述染色标记添加至所述子线程的线程上下文中。在上述实现过程中,将当前线程的染色标记传递给子线程,并将染色标记添加至所述子线程中,实现染色标记的跨线程传递。进一步地,所述通过预先设置的拦截位点进行拦截所述请求消息并从所述请求消息中获取带有染色标记的至少一条请求消息,包括:在当前服务发送http跨进程请求之前,通过预先设置的拦截位点进行拦截,以获取请求对象;将当前服务中的当前线程的染色标记添加至所述请求对象的请求头中,以将所述染色标记传递至下游服务中;在所述下游服务接收到所述请求后,通过所述下游服务中预先设置的拦截位点获取所述请求头中的染色标记;将所述染色标记添加至所述下游服务的线程上下文中。在上述实现过程中,服务之间通过http跨进程调用时,通过拦截位点实现染色标记从当前服务跨进程传递给下游服务,实现了染色标记的http跨进程传递。进一步地,所述通过预先设置的拦截位点进行拦截所述请求消息并从所述请求消息中获取带有染色标记的至少一条请求消息,包括:在当前服务发送rpc跨进程请求之前,通过预先设置的拦截位点进行拦截,以获取rpc请求;将当前服务中的当前线程的染色标记添加至rpc请求的attachments中,以将所述染色标记传递至下游服务中;在所述下游服务接收所述rpc请求后,通过所述下游服务中预先设置的拦截位点获取所述attachments中的染色标记;将所述染色标记添加至所述下游服务的线程上下文中。在上述实现过程中,服务之间在进行rpc跨进程调用时,通过预先设置的拦截位点实现染色标记从当前服务跨进程传递给下游服务,实现了染色标记的rpc跨进程传递。进一步地,所述通过预先设置的拦截位点进行拦截所述请求消息并从所述请求消息中获取带有染色标记的至少一条请求消息,包括:在异步消息发送之前,通过预先设置的拦截位点获取所述消息;将当前服务的当前线程的染色标记添加至所述消息的header中;在所述下游服务接收所述消息后,通过所述下游服务中预先设置的拦截位点从所述消息的header中获取所述染色标记;将所述染色标记添加至所述下游服务的线程上下文中。在上述实现过程中,在异步消息发送之前通过拦截位点获取消息,并将当前线程的染色标记保存至消息的header中,以便下游服务获取该消息后同时得到染色标记,实现了染色标记的消息中间跨进程传递。进一步地,所述将所述请求消息所产生的压测流量保存至影子表中,包括:在将所述压测流量对应的染色数据进行保存之前,将sql执行语句的表名修改为影子表名,以将所述染色数据保存至影子表中。在上述实现过程中,染色数据在保存之前,将会动态的将sql执行语句的表名修改为影子表名,染色数据将会自动存入影子表中,从而与生产数据隔离,实现了生产数据和染色数据的动态隔离。进一步地,调用缓存数据时,判断当前线程对应的数据是否含有染色标记;若有,则在key值参数上添加设定字符串,以区分染色数据和生产数据。在上述实现过程中,通过染色标记区分染色数据和生产数据,并修改染色数据对应的执行参数,在key值参数上添加设定字符串与生产数据进行区分。本申请实施例还提供一种压测装置,该装置包括:消息接收模块,用于接收客户端发送的请求消息;标记获取模块,用于通过预先设置的拦截位点进行拦截所述请求消息并从所述请求消息中获取带有染色标记的至少一条请求消息;染色标记传递模块,用于在将所述请求消息在跨线程和/或跨进程执行并生成压测流量过程中,将所述染色标记进行相应传递;存储模块,用于将所述请求消息所产生的压测流量保存至影子表中。在上述过程中,通过染色标记对压测流量进行标记,并实现跨进程和跨线程的全链路透传,染色数据和生产数据的隔离(染色数据存入影子表,生产数据存入生产表),避免了压测人员在每次压测完成后,清除生产表中的脏数据的操作,节约了工作时间,提高了效率,解决了现有方法需要手动将生产表中压测产生的脏数据清除掉,为压测人员增加了大量的工作量的问题。本申请实施例还提供一种电子设备,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使计算机设备执行上述中任一项所述的压测方法。本申请实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述中任一项所述的压测方法。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1本文档来自技高网...

【技术保护点】
1.一种压测方法,其特征在于,所述方法包括:/n接收客户端发送的请求消息;/n通过预先设置的拦截位点进行拦截所述请求消息并从所述请求消息中获取带有染色标记的至少一条请求消息;/n在将所述请求消息在跨线程和/或跨进程执行并生成压测流量过程中,将所述染色标记进行相应传递;/n将所述请求消息所产生的压测流量保存至影子表中。/n

【技术特征摘要】
1.一种压测方法,其特征在于,所述方法包括:
接收客户端发送的请求消息;
通过预先设置的拦截位点进行拦截所述请求消息并从所述请求消息中获取带有染色标记的至少一条请求消息;
在将所述请求消息在跨线程和/或跨进程执行并生成压测流量过程中,将所述染色标记进行相应传递;
将所述请求消息所产生的压测流量保存至影子表中。


2.根据权利要求1所述的压测方法,其特征在于,所述通过预先设置的拦截位点进行拦截所述请求消息并从所述请求消息中获取带有染色标记的至少一条请求消息,包括:
在线程池获取线程执行异步调用的方法之前,通过预先设置的拦截位点进行拦截,以将当前线程的染色标记传递给子线程;
在所述子线程执行之前,将所述染色标记添加至所述子线程的线程上下文中。


3.根据权利要求1所述的压测方法,其特征在于,所述通过预先设置的拦截位点进行拦截所述请求消息并从所述请求消息中获取带有染色标记的至少一条请求消息,包括:
在当前服务发送http跨进程的请求之前,通过预先设置的拦截位点进行拦截,以获取请求对象;
将当前服务中的当前线程的染色标记添加至所述请求对象的请求头中,以将所述染色标记传递至下游服务中;
在所述下游服务接收到所述请求后,通过所述下游服务中预先设置的拦截位点获取所述请求头中的染色标记;
将所述染色标记添加至所述下游服务的线程上下文中。


4.根据权利要求1所述的压测方法,其特征在于,所述通过预先设置的拦截位点进行拦截所述请求消息并从所述请求消息中获取带有染色标记的至少一条请求消息,包括:
在当前服务发送rpc跨进程请求之前,通过预先设置的拦截位点进行拦截,以获取rpc请求;
将当前服务中的当前线程的染色标记添加至rpc请求的attachments中,以将所述染色标记传递至下游服务中;
在所述下游服务接收所述rpc请求后,通过所述下游服务中预先设置的拦截位点获取所述attachments中的染色标记;
将所述染色标记添加至所述下游服...

【专利技术属性】
技术研发人员:王凯朱展朱道坤
申请(专利权)人:北京百家科技集团有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1