压力测试方法及相关设备技术

技术编号:39741243 阅读:11 留言:0更新日期:2023-12-17 23:42
本申请提供一种压力测试方法及相关设备,所述方法包括:获取区块链系统交易池的容量设置值;基于所述容量设置值计算得到交易池的消耗能力;基于所述容量设置值和所述消耗能力计算得到所述交易池压力调控的上限和压力调控的下限,并基于所述压力调控的上限和所述压力调控的下限控制对应线程的开关;每个所述线程发送固定数量的交易;响应于交易发送结束,获取交易的总数量;基于交易开始的时间

【技术实现步骤摘要】
压力测试方法及相关设备


[0001]本申请涉及区块链
,尤其涉及一种压力测试方法及相关设备


技术介绍

[0002]在现有技术中,在对区块链进行压力测试时,无法准确的确定测试过程中交易发送的速度以及交易发送的数量,且现有技术中,在进行压力测试时,常用的压力测试方法通常仅基于静态的事务处理能力设置压力参数,而缺乏对动态负载情况下的实时调控能力,其无法根据当前时刻区块链的状态来动态调整测试的参数,可能会导致该时刻下并未保证区块链的交易数量饱和,或者交易数量设置的过大,导致交易池发生溢出现象,这些均会导致最终的压力测试结果不准确


技术实现思路

[0003]有鉴于此,本申请的目的在于提出一种压力测试方法及相关设备

[0004]基于上述目的,本申请提供了一种压力测试方法,包括:
[0005]获取区块链系统交易池的容量设置值;
[0006]基于所述容量设置值计算得到交易池的消耗能力;
[0007]基于所述容量设置值和所述消耗能力计算得到所述交易池压力调控的上限和压力调控的下限,并基于所述压力调控的上限和所述压力调控的下限控制对应线程的开关;其中,每个所述线程发送固定数量的交易;
[0008]响应于交易发送结束,获取交易的总数量;基于交易开始的时间

所有交易结束的时间和所述交易的总数量,计算得到压力测试参考值

[0009]在一种可能的实现方式中,所述基于所述容量设置值计算得到交易池的消耗能力,包括
[0010]无间隔的并发发送所述容量设置值个数的交易;
[0011]响应于所述容量设置值个数的交易发送停止,获取当前的第一时间和当前的交易池的第一负载数量;
[0012]响应于交易池负载数量为零,获取当前的第二时间;
[0013]基于所述第一负载数量

所述第一时间和所述第二时间,计算得到所述消耗能力

[0014]在一种可能的实现方式中,所述基于所述第一负载数量

所述第一时间和所述第二时间,计算得到所述消耗能力,包括:
[0015][0016]其中,
txConsumSpeed
表示消耗能力,
startTxNum
表示第一负载数量,
endTime
表示第二时间,
startTime
表示第一时间

[0017]在一种可能的实现方式中,所述基于所述容量设置值和所述消耗能力计算得到所述交易池压力调控的上限,包括:
[0018]响应于所述线程的开关处于关闭状态,获取当前已经启动的线程产生交易的速度降低至所述消耗能力时间内产生的第一交易数和区块链消耗的第二交易数;
[0019]基于所述容量设置值

所述第一交易数和所述第二交易数,计算得到所述交易池压力调控的上限

[0020]在一种可能的实现方式中,所述基于所述容量设置值和所述消耗能力计算得到所述交易池压力调控的下限,包括:
[0021]响应于所述线程的开关处于开启状态,获取当前已经启动的线程产生交易的速度上升至所述消耗能力时间内产生的第三交易数和消耗的第四交易数;
[0022]基于所述第三交易数和所述第四交易数,计算得到所述交易池压力调控的下限

[0023]在一种可能的实现方式中,所述基于所述压力调控的上限和所述压力调控的下限控制对应线程的开关,包括:
[0024]读取当前时刻交易池中的第二负载数量;
[0025]响应于所述第二负载数量大于所述压力调控的上限,关闭所述线程的开关;
[0026]响应于所述第二负载数量小于所述压力调控的下限,开启所述线程的开关

[0027]在一种可能的实现方式中,通过下述方法计算所述固定数量:
[0028]获取每个线程需要发送的交易数量的下限和每个线程需要发送的交易数量的上限;
[0029]所述固定数量小于所述交易数量的上限且大于所述交易数量的下限

[0030]在一种可能的实现方式中,通过下式计算所述压力测试参考值:
[0031][0032]其中,
bestCTPS
表示压力测试参考值,
txNum
表示交易的总数量,
endProcessTime
表示所有交易结束的时间,
startProcessTime
表示交易开始的时间

[0033]基于同一专利技术构思,本申请实施例还提供了一种电子设备,包括存储器

处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任意一项所述的压力测试方法

[0034]基于同一专利技术构思,本申请实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述任一所述的压力测试方法

[0035]从上面所述可以看出,本申请提供的压力测试方法及相关设备,通过获取区块链系统交易池的容量设置值;基于所述容量设置值计算得到交易池的消耗能力;基于所述容量设置值和所述消耗能力计算得到所述交易池压力调控的上限和压力调控的下限,并基于所述压力调控的上限和所述压力调控的下限控制对应线程的开关;每个所述线程发送固定数量的交易;响应于交易发送结束,获取交易的总数量;基于交易开始的时间

所有交易结束的时间和所述交易的总数量,计算得到压力测试参考值

本申请实施例能够基于当前区块链的状态动态调整对应的压力测试的参数,以使得在测试过程中能够始终适应当前区块链的状态,进而使得最终的压力测试结果更加的准确

附图说明
[0036]为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图

[0037]图1为本申请实施例的压力测试方法流程示意图;
[0038]图2为本申请实施例的获取消耗能力流程示意图;
[0039]图3为本申请实施例的调整压力测试速度流程示意图;
[0040]图4为本申请实施例的电子设备示意图

具体实施方式
[0041]为使本申请的目的

技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请进一步详细说明

[0042]需要说明的是,除非另外定义,本申请实施例使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义

本申请实施例中使用的“第一”、“第二”本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种压力测试方法,其特征在于,包括:获取区块链系统交易池的容量设置值;基于所述容量设置值计算得到交易池的消耗能力;基于所述容量设置值和所述消耗能力计算得到所述交易池压力调控的上限和压力调控的下限,并基于所述压力调控的上限和所述压力调控的下限控制对应线程的开关;其中,每个所述线程发送固定数量的交易;响应于交易发送结束,获取交易的总数量;基于交易开始的时间

所有交易结束的时间和所述交易的总数量,计算得到压力测试参考值
。2.
根据权利要求1所述的方法,其特征在于,所述基于所述容量设置值计算得到交易池的消耗能力,包括:无间隔的并发发送所述容量设置值个数的交易;响应于所述容量设置值个数的交易发送停止,获取当前的第一时间和当前的交易池的第一负载数量;响应于交易池负载数量为零,获取当前的第二时间;基于所述第一负载数量

所述第一时间和所述第二时间,计算得到所述消耗能力
。3.
根据权利要求2所述的方法,其特征在于,所述基于所述第一负载数量

所述第一时间和所述第二时间,计算得到所述消耗能力,包括:其中,
txConsumSpeed
表示消耗能力,
startTxNum
表示第一负载数量,
endTime
表示第二时间,
startTime
表示第一时间
。4.
根据权利要求1所述的方法,其特征在于,所述基于所述容量设置值和所述消耗能力计算得到所述交易池压力调控的上限,包括:响应于所述线程的开关处于关闭状态,获取当前已经启动的线程产生交易的速度降低至所述消耗能力时间内产生的第一交易数和区块链消耗的第二交易数;基于所述容量设置值

所述第一交易数和所述第二交易数,计算得到所述交易池压力调控的上限
...

【专利技术属性】
技术研发人员:郝晓虎刘义涂腾飞秦素娟万明超
申请(专利权)人:北京微芯区块链与边缘计算研究院
类型:发明
国别省市:

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

1