CN116319416A - 一种适用于多节点区块链系统的性能测试方法及装置 - Google Patents
一种适用于多节点区块链系统的性能测试方法及装置 Download PDFInfo
- Publication number
- CN116319416A CN116319416A CN202310162147.XA CN202310162147A CN116319416A CN 116319416 A CN116319416 A CN 116319416A CN 202310162147 A CN202310162147 A CN 202310162147A CN 116319416 A CN116319416 A CN 116319416A
- Authority
- CN
- China
- Prior art keywords
- blockchain
- node
- transaction
- transaction data
- test
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000011056 performance test Methods 0.000 title claims abstract description 19
- 238000012360 testing method Methods 0.000 claims abstract description 133
- 230000008569 process Effects 0.000 claims abstract description 25
- 238000004458 analytical method Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 11
- 230000006835 compression Effects 0.000 claims description 4
- 238000007906 compression Methods 0.000 claims description 4
- 230000003247 decreasing effect Effects 0.000 claims description 4
- 230000000007 visual effect Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012800 visualization 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/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/10—Protocols in which an application is distributed across nodes in the network
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种适用于多节点区块链系统的性能测试方法及装置,区块链系统设有区块链网络,区块链网络包括依次相连的N个区块链节点,N为大于2的自然数。可以将交易数据发送至第一区块链节点;接着,接收第N区块链节点返回的交易反馈;然后,获取“将交易数据发送至第一区块链节点”至“接收第N区块链节点返回的交易反馈”过程中的测试数据;根据测试数据,得到测试结果。由于区块链网络中的N个区块链节点具有排列顺序,第一区块链节点为排列顺序第一的区块链节点,交易数据按照排列顺序依次传送到区块链网络中各个区块链节点,不同时间点发送的交易数据可在多个区块链节点中同时执行,从而提高区块链系统性能测试的效率。
Description
技术领域
本发明涉及区块链系统的测试技术领域,尤其涉及一种适用于多节点区块链系统的性能测试方法及装置。
背景技术
目前,区块链性能测试方案主要是基于集中化的平台进行压力测试,通过一个客户端向区块链系统发送压力并计算测试结果,随着区块链技术的发展,区块链系统性能不断提升,单节点发压存在单点压力瓶颈问题,单节点发压在效率上,无法进一步得到提升。
本申请可以实现发压能力的横向扩展,同时对多个区块链节点发压,可以提升性能测试效率。
发明内容
本发明提供一种适用于多节点区块链系统的性能测试方法及装置,应用于区块链系统,所述区块链系统设有区块链网络,所述区块链网络包括N个区块链节点,N为大于2的自然数,由于所述交易数据按照排列顺序依次传送到所述区块链网络中各个所述区块链节点,从而不同时间点发送的交易数据可在多个所述区块链节点中同时执行,进而提高区块链系统性能测试的效率。
第一方面,本发明提供了一种适用于多节点区块链系统的性能测试方法,应用于区块链系统,所述区块链系统设有区块链网络,所述区块链网络包括依次相连N个区块链节点,N为大于2的自然数,所述方法包括:
根据待测试数据生成交易数据;
将所述交易数据发送至第一区块链节点,其中,所述区块链网络中的N个所述区块链节点具有排列顺序,所述第一区块链节点为排列顺序第一的所述区块链节点,所述交易数据按照排列顺序依次传送到所述区块链网络中各个所述区块链节点;
接收第N区块链节点返回的交易反馈;
获取“将所述交易数据发送至第一区块链节点”至“接收第N区块链节点返回的交易反馈”过程中的测试数据;
根据所述测试数据,得到测试结果。
可选地,所述将所述交易数据发送至第一区块链节点,包括:
根据发压设置参数,从所述交易数据中确定目标交易数据;
持续向所述第一区块链节点发送所述目标交易数据,直至所述目标交易数据发送完毕或超过预设的发压持续时间。
可选地,所述根据待测试数据生成交易数据前,包括:
根据测试设置参数以及测试流程确定测试用例;其中,所述测试设置参数包括发压时间点、模拟并发量、交易数据数量、交易数据发送速度、交易执行逻辑、交易数据的存储量、接收压力的节点;
根据所述测试用例和所述多节点区块链系统确定测试工具;
将所述测试工具与所述多节点区块链系统连接。
可选地,所述将所述测试工具与所述多节点区块链系统连接,包括:
在所述区块链系统中搭建多个的所述区块链网络,多个所述区块链网络的所述区块链节点数量不同,且多个所述区块链网络的所述区块链节点数量呈梯度递减或递增;
将所述测试工具与所述区块链网络相连。
可选地,所述测试数据包括第一时间点tsend、第二时间点trecv、单个节点交易数据数量nrecv、单个节点交易总耗时tall、总交易数量nconf、以及总交易耗时TALL、交易保存量nsend;
其中,第一时间点tsend为每次将所述交易数据发送至第一区块链节点的时间点;
第二时间点trecv为每次接收第N区块链节点返回的交易反馈的时间点;
单个节点交易总耗时tall为单个所述区块链节点第一笔交易数据发送至最后一笔交易数据接收到响应的耗时;
总交易数量nconf为所有区块链网络的总交易数量;
交易保存量nsend为发生交易数据后,能保存在所有区块链网络的交易数据的量。
可选地,所述根据所述测试数据,得到测试结果包括:
根据所述第一时间点tsend、第二时间点trecv、确定响应耗时TD,TD1、TD2...TDn标识n次给所述区块链网络发送所述交易数据的响应耗时,根据TD1、TD2...TDn确定n次交易的平均耗时以及最大耗时;
根据所述单个节点交易数据数量nrecv和所述单个节点交易总耗时tall确定每秒区块链节点收到的交易数;
根据所述总交易数量nconf和所述总交易耗时TALL确定所述区块链系统每秒确认的交易数量;
根据所述总交易数量nconf和交易保存量nsend确定交易成功率;
根据所述平均耗时、所述最大耗时、所述每秒区块链节点收到的交易数、所述每秒确认的交易数量、以及所述交易成功率确定测试结果。
可选地,所述根据所述平均耗时、所述最大耗时、所述每秒区块链节点收到的交易数、所述每秒确认的交易数量、以及所述交易成功率确定测试结果,包括:
将所述平均耗时、所述最大耗时、所述每秒区块链节点收到的交易数、所述每秒确认的交易数量、以及所述交易成功率生成可视化的图,以展示所述测试结果。
第二方面,本申请提供了一种适用于多节点区块链系统的性能测试装置,其特征在于,所述装置包括:
发送单元,用于将所述交易数据发送至第一区块链节点,其中,所述区块链网络中的N个所述区块链节点具有排列顺序,所述第一区块链节点为排列顺序第一的所述区块链节点;
接收单元,用于接收第N区块链节点返回的交易反馈;其中,所述交易数据会按照所述排列顺序在各个所述区块链节点中执行;
获取单元,用于获取“将所述交易数据发送至第一区块链节点”至“接收第N区块链节点返回的交易反馈”过程中的测试数据;
分析单元,用于根据所述测试数据,得到测试结果;
控制单元,与所述发送单元、所述接收单元以及所述分析单元相连,用于控制所述发送单元、所述接收单元以及所述分析单元的运行。
可选地,所述装置还包括:
生成单元,用于根据待测试数据生成交易数据。
第三方面,本发明提供了一种电子设备,处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现第一方面任一所述的方法。
本发明提供了一种适用于多节点区块链系统的性能测试方法,应用于区块链系统,所述区块链系统设有区块链网络,所述区块链网络包括依次相连的N个区块链节点,N为大于2的自然数。所述方法可以根据待测试数据生成交易数据;接着,将所述交易数据发送至第一区块链节点;接着,接收第N区块链节点返回的交易反馈;然后,获取“将所述交易数据发送至第一区块链节点”至“接收第N区块链节点返回的交易反馈”过程中的测试数据;再然后,根据所述测试数据,得到测试结果。由于所述区块链网络中的N个所述区块链节点具有排列顺序,所述第一区块链节点为排列顺序第一的所述区块链节点,所述交易数据按照排列顺序依次传送到所述区块链网络中各个所述区块链节点,从而不同时间点发送的交易数据可在多个所述区块链节点中同时执行,进而提高区块链系统性能测试的效率。
上述的非惯用的优选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
为了更清楚地说明本发明实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的适用于多节点区块链系统的性能测试方法的流程图一;
图2为本发明一实施例提供的适用于多节点区块链系统的性能测试方法的流程图二;
图3为本发明一实施例提供的适用于多节点区块链系统的性能测试装置的结构示意图;
图4为本发明一实施例中适用于多节点区块链系统的性能测试装置与区块链系统相连的结构示意图;
图5为本发明一实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本发明的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着区块链技术的发展,区块链系统性能不断提升,单节点发压存在单点压力瓶颈问题,单节点发压在效率上,无法进一步得到提升。
有鉴于此,本发明提供一种适用于多节点区块链系统的性能测试方法,可以实现发压能力的横向扩展,同时对多个区块链节点发压,可以提升性能测试效率。参见图1所示,为本发明提供的适用于多节点区块链系统的性能测试方法的具体实施例。所述方法应用于区块链系统,所述区块链系统设有区块链网络,所述区块链网络包括依次相连的N个区块链节点,N为大于2的自然数,本实施例中,所述方法包括步骤S01、步骤S02、步骤S03、步骤S04、以及步骤S05。
步骤S01:根据待测试数据生成交易数据;
步骤S02:将所述交易数据发送至第一区块链节点;
步骤S03:接收第N区块链节点返回的交易反馈;
步骤S04:获取“将所述交易数据发送至第一区块链节点”至“接收第N区块链节点返回的交易反馈”过程中的测试数据;
步骤S05:根据所述测试数据,得到测试结果。
所述待测试数据是指在区块链系统正式使用前,需要测试是否符合使用标准的测试数据,或根据该测试数据可以得到需要确认是否符合使用标准的数据。该测试数据或数据会影响区块链系统的使用。例如,待测试数据包括第一时间点tsend、第二时间点trecv、单个节点交易数据数量nrecv、单个节点交易总耗时tall、总交易数量nconf、以及总交易耗时TALL、交易保存量nsend。
由于所述区块链网络中的N个所述区块链节点具有排列顺序,所述第一区块链节点为排列顺序第一的所述区块链节点,所述交易数据按照排列顺序依次传送到所述区块链网络中各个所述区块链节点,从而不同时间点发送的交易数据可在多个所述区块链节点中同时执行,进而提高区块链系统性能测试的效率。示例性地,将所述交易数据发送至第一区块链节点后,同一交易数据会依次在第二区块链节点、第三区块链节点...第N区块链节点中执行。若持续将所述交易数据发送给区块链网络,那么多个区块链节点会同时在处理交易数据。示例性地,第一次发送的交易数据为第一交易数据、第二次发送的交易数据为第二交易数据...第N次发送的交易数据为第N交易数据。那么依次给所述区块链网络发送第一交易数据、第二交易数据...第N交易数据,在给所述区块链网络发送第三交易数据后,第一区块链节点执行和/或处理第三交易数据、第二区块链节点执行和/或处理第二交易数据,第三区块链节点执行和/或处理第一交易数据。第一区块链节点、第二区块链节点以及第三区块链节点同时在执行或处理交易数据,即可以实现发压能力的横向扩展,同时对多个区块链节点发压,可以提升性能测试效率。
在一实施例中,步骤S02,所述将所述交易数据发送至第一区块链节点,包括步骤S021、以及步骤S022。
步骤S021:根据发压设置参数,从所述交易数据中确定目标交易数据;
步骤S022:持续向所述第一区块链节点发送所述目标交易数据,直至所述目标交易数据发送完毕或超过预设的发压持续时间。
所述发压设置参数包括发压持续时间、交易数据量等,在所述交易数据中,根据发压设置参数确定目标交易数据,目标交易数据的数据量以及可持续发压时间与发压设置参数的相同。根据发压设置参数确定目标交易数据,可确保充足的交易数据量,以及充足的发压时间,可获得较多的测试数据,以得到较为准确的测试结果。
在一实施例中,如附图2所示,步骤S01,所述根据待测试数据生成交易数据前,包括:
步骤S1:根据测试设置参数以及测试流程确定测试用例;其中,所述测试设置参数包括发压时间点、模拟并发量、交易数据数量、交易数据发送速度、交易执行逻辑、交易数据的存储量、接收压力的节点;
步骤S2:根据所述测试用例和所述多节点区块链系统确定测试工具;
步骤S3:将所述测试工具与所述多节点区块链系统连接。
测试用例是在一次执行区块链系统性能测试过程中所需要的交易数据、参数设置和执行流程。测试用例中的关键数据包括发压时间点、模拟并发量、交易数据数量、交易数据发送速度、交易执行逻辑、交易数据的存储量、接收压力的节点。测试工具用于利用测试用例测试区块链系统的装置,示例性的,测试工具为适用于多节点区块链系统的性能测试装置,包括发压单元、接收单元、获取单元、分析单元以及控制单元,发压单元,用于将所述交易数据发送至第一区块链节点;接收单元,用于接收第N区块链节点返回的交易反馈;获取单元,用于获取“将所述交易数据发送至第一区块链节点”至“接收第N区块链节点返回的交易反馈”过程中的测试数据;分析单元,用于根据所述测试数据,得到测试结果;控制单元,与所述发送单元、所述接收单元以及所述分析单元相连,用于控制所述发送单元、所述接收单元以及所述分析单元的运行。
所述测试工具与所述多节点区块链系统连接,可以给多节点区块链系统发送交易数据,接收区块链系统反馈回来的信息,以及获取给多节点区块链系统发送交易数据过程中的所需要的测试数据,并分析测试数据,以得到测试结果,可根据测试结果评估多节点区块链系统的性能、功能以及交易效率。
在一实施例中,步骤S3,所述将所述测试工具与所述多节点区块链系统连接,包括步骤S31和步骤S32。
步骤S31:在所述区块链系统中搭建多个的所述区块链网络,多个所述区块链网络的所述区块链节点数量不同,且多个所述区块链网络的所述区块链节点数量呈梯度递减或递增;
区块链系统需要根据具体需求搭建不同区块链节点数的区块链网络,区块链节点数量形成一定梯度,从而判断当区块链节点数不断增加区块链系统性能的变化趋势。例如,区块链网络的数量为4个区块链节点、8个区块链节点、16个区块链节点等。也可以搭建固定区块链节点数的区块链网络,通过不同的测试用例测试区块链系统的整体性能。
步骤S32:将所述测试工具与所述区块链网络相连。
通过RPC(Remote Procedure Call,远程过程调用协议)、HTTP(HyperTextTransfer Protocol,超文本传输协议)、SDK(software development kit,软件开发工具包)等方式,实现所述测试工具与所述区块链网络相连。
在一实施例中,所述测试数据包括第一时间点tsend、第二时间点trecv、单个节点交易数据数量nrecv、单个节点交易总耗时tall、总交易数量nconf、以及总交易耗时TALL、交易保存量nsend;
其中,第一时间点tsend为每次将所述交易数据发送至第一区块链节点的时间点;
第二时间点trecv为每次接收第N区块链节点返回的交易反馈的时间点;
单个节点交易总耗时tall为单个所述区块链节点第一笔交易数据发送至最后一笔交易数据接收到响应的耗时;
总交易数量nconf为所有区块链网络的总交易数量;
交易保存量nsend为发生交易数据后,能保存在所有区块链网络的交易数据的量。
上述测试数据是可以通过测试工具的在交易过程中对测试数据进行记录,在测试工具存储介质中直接得到所述测试数据。
在一实施例中,可通过上述从测试工具存储介质中得到的测试数据进行计算、分析、制作可视化图得到测试结果。步骤S05,根据所述测试数据,得到测试结果,包括:
步骤S051:根据所述第一时间点tsend、第二时间点trecv、确定响应耗时TD(Transaction Delay),TD1、TD2...TDn标识n次给所述区块链网络发送所述交易数据的响应耗时,根据TD1、TD2...TDn确定n次交易的平均耗时ATD(AverageTransaction Delay)以及最大耗时MTD(Maximum Transaction Delay);
平均耗时ATD与最大耗时MTD计算公式如下:
平均耗时ATD=avg(TD1,TD2,…TDn);
最大耗时MTD=max(TD1,TD2,…TDn)。
步骤S0512:根据所述单个节点交易数据数量nrecv和所述单个节点交易总耗时tall确定每秒区块链节点收到的交易数RTPS(Received Transaction PerSecond);
每秒区块链节点收到的交易数RTPS计算公式如下:
步骤S0513:根据所述总交易数量nconf和所述总交易耗时TALL确定所述区块链系统每秒确认的交易数量CTPS(Confirmed Transaction Per Second);
每秒确认的交易数量CTPS计算公式如下:
步骤S0514:根据所述总交易数量nconf和交易保存量nsend确定交易成功率TSR(Transaction Success Rate);
交易成功率TSR计算公式如下:
步骤S052:根据所述平均耗时、所述最大耗时、所述每秒区块链节点收到的交易数、所述每秒确认的交易数量、以及所述交易成功率确定测试结果。
上述步骤S0511~步骤S0514的步骤顺序可以对调,通过所述平均耗时、所述最大耗时、所述每秒区块链节点收到的交易数、所述每秒确认的交易数量、以及所述交易成功率这些数据评估区块链系统的性能,以作为测试结果。示例性地,可以预设平均耗时对比值、最大耗时对比值、每秒区块链节点收到的交易数对比值、每秒确认的交易数量对比值、以及交易成功率对比值。将所述平均耗时与平均耗时对比值进行对比、所述最大耗时与最大耗时对比值进行对比、所述每秒区块链节点收到的交易数与每秒区块链节点收到的交易数对比值进行对比、所述每秒确认的交易数量与每秒确认的交易数量对比值进行对比、以及所述交易成功率与交易成功率对比值进行对比,以得到对比结果,将对比结果作为测试结果。
还可以将所述平均耗时、所述最大耗时、所述每秒区块链节点收到的交易数、所述每秒确认的交易数量、以及所述交易成功率生成可视化的图,以展示所述测试结果。可视化图折线图、柱状图、饼状图等。
如附图3所示,为本发明一实施例提供的适用于多节点区块链系统的性能测试装置的结构示意图;如附图4所示,为本发明一实施例中适用于多节点区块链系统的性能测试装置与区块链系统相连的结构示意图。所述装置可以是测试工具,包括:
发压单元,用于将所述交易数据发送至第一区块链节点,其中,所述区块链网络中的N个所述区块链节点具有排列顺序,所述第一区块链节点为排列顺序第一的所述区块链节点;
接收单元,用于接收第N区块链节点返回的交易反馈;其中,所述交易数据会按照所述排列顺序在各个所述区块链节点中执行;
获取单元,用于获取“将所述交易数据发送至第一区块链节点”至“接收第N区块链节点返回的交易反馈”过程中的测试数据;
分析单元,用于根据所述测试数据,得到测试结果;
控制单元,与所述发送单元、所述接收单元以及所述分析单元相连,用于控制所述发送单元、所述接收单元以及所述分析单元的运行。
在一实施例中,所述适用于多节点区块链系统的性能测试装置还包括:
生成单元,用于根据待测试数据生成交易数据。
本实施例所述装置,即用于执行图1~3所述方法的实体装置。其技术方案本质上与上述实施例一致,上述实施例中的相应描述同样适用于本实施例中。
可选地,所述适用于多节点区块链系统的性能测试装置还包括:
设计单元,用于根据测试设置参数以及测试流程确定测试用例;其中,所述测试设置参数包括发压时间点、模拟并发量、交易数据数量、交易数据发送速度、交易执行逻辑、交易数据的存储量、接收压力的节点;
搭建测试环境单元,用于根据所述测试用例和所述多节点区块链系统确定测试工具;将所述测试工具与所述多节点区块链系统连接。
可选地,搭建测试环境单元,用于:
在所述区块链系统中搭建多个的所述区块链网络,多个所述区块链网络的所述区块链节点数量不同,且多个所述区块链网络的所述区块链节点数量呈梯度递减或递增;
将所述测试工具与所述区块链网络相连。
可选地,分析单元,用于:
根据所述第一时间点tsend、第二时间点trecv、确定响应耗时TD,TD1、TD2...TDn标识n次给所述区块链网络发送所述交易数据的响应耗时,根据TD1、TD2...TDn确定n次交易的平均耗时以及最大耗时;
根据所述单个节点交易数据数量nrecv和所述单个节点交易总耗时tall确定每秒区块链节点收到的交易数;
根据所述总交易数量nconf和所述总交易耗时TALL确定所述区块链系统每秒确认的交易数量;
根据所述总交易数量nconf和交易保存量nsend确定交易成功率;
根据所述平均耗时、所述最大耗时、所述每秒区块链节点收到的交易数、所述每秒确认的交易数量、以及所述交易成功率确定测试结果。
可选地,分析单元,用于:
将所述平均耗时、所述最大耗时、所述每秒区块链节点收到的交易数、所述每秒确认的交易数量、以及所述交易成功率生成可视化的图,以展示所述测试结果。
图5是本发明实施例提供的一种电子设备的结构示意图。在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponentInterconnect,外设部件互连标准)总线或EISA(Extended IndustryStandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放执行指令。具体地,执行指令即可被执行的计算机程序。存储器可以包括内存和非易失性存储器,并向处理器提供执行指令和数据。
在一种可能实现的方式中,处理器从非易失性存储器中读取对应的执行指令到内存中然后运行,也可从其它设备上获取相应的执行指令,以在逻辑层面上形成多节点区块链系统的性能测试装置。处理器执行存储器所存放的执行指令,以通过执行的执行指令实现本发明任一实施例中提供的多节点区块链系统的性能测试方法。
上述如本发明图3、图4所示实施例提供的多节点区块链系统的性能测试装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本发明实施例还提出了一种计算机可读存储介质,该计算机可读存储介质包括执行指令,当电子设备的处理器执行所述执行指令时,能够使该电子设备执行本发明任一实施例中提供的多节点区块链系统的性能测试方法,并具体用于执行如图1或图2所示的方法。
前述各个实施例中所述的电子设备可以为计算机。
本领域内的技术人员应明白,本发明的实施例可提供为方法或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例,或软件和硬件相结合的形式。
本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (10)
1.一种适用于多节点区块链系统的性能测试方法,应用于区块链系统,其特征在于,所述区块链系统设有区块链网络,所述区块链网络包括依次相连的N个区块链节点,N为大于2的自然数,所述方法包括:
根据待测试数据生成交易数据;
将所述交易数据发送至第一区块链节点;
接收第N区块链节点返回的交易反馈;
获取“将所述交易数据发送至第一区块链节点”至“接收第N区块链节点返回的交易反馈”过程中的测试数据;
根据所述测试数据,得到测试结果;
其中,所述区块链网络中的N个所述区块链节点具有排列顺序,所述第一区块链节点为排列顺序第一的所述区块链节点,所述交易数据按照排列顺序依次传送到所述区块链网络中各个所述区块链节点。
2.根据权利要求1所述的适用于多节点区块链系统的性能测试方法,其特征在于,所述将所述交易数据发送至第一区块链节点,包括:
根据发压设置参数,从所述交易数据中确定目标交易数据;
持续向所述第一区块链节点发送所述目标交易数据,直至所述目标交易数据发送完毕或超过预设的发压持续时间。
3.根据权利要求1所述的适用于多节点区块链系统的性能测试方法,其特征在于,所述根据待测试数据生成交易数据前,包括:
根据测试设置参数以及测试流程确定测试用例;其中,所述测试设置参数包括发压时间点、模拟并发量、交易数据数量、交易数据发送速度、交易执行逻辑、交易数据的存储量、接收压力的节点;
根据所述测试用例和所述多节点区块链系统确定测试工具;
将所述测试工具与所述多节点区块链系统连接。
4.根据权利要求3所述的适用于多节点区块链系统的性能测试方法,其特征在于,所述将所述测试工具与所述多节点区块链系统连接,包括:
在所述区块链系统中搭建多个的所述区块链网络,多个所述区块链网络的所述区块链节点数量不同,且多个所述区块链网络的所述区块链节点数量呈梯度递减或递增;
将所述测试工具与所述区块链网络相连。
5.根据权利要求4所述的适用于多节点区块链系统的性能测试方法,其特征在于,所述测试数据包括第一时间点tsend、第二时间点trecv、单个节点交易数据数量nrecv、单个节点交易总耗时tall、总交易数量nconf、以及总交易耗时TALL、交易保存量nsend;
其中,第一时间点tsend为每次将所述交易数据发送至第一区块链节点的时间点;
第二时间点trecv为每次接收第N区块链节点返回的交易反馈的时间点;
单个节点交易总耗时tall为单个所述区块链节点第一笔交易数据发送至最后一笔交易数据接收到响应的耗时;
总交易数量nconf为所有区块链网络的总交易数量;
交易保存量nsend为发生交易数据后,能保存在所有区块链网络的交易数据的量。
6.根据权利要求5所述的适用于多节点区块链系统的性能测试方法,其特征在于,所述根据所述测试数据,得到测试结果包括:
根据所述第一时间点tsend、第二时间点trecv、确定响应耗时TD,TD1、TD2...TDn标识n次给所述区块链网络发送所述交易数据的响应耗时,根据TD1、TD2...TDn确定n次交易的平均耗时以及最大耗时;
根据所述单个节点交易数据数量nrecv和所述单个节点交易总耗时tall确定每秒区块链节点收到的交易数;
根据所述总交易数量nconf和所述总交易耗时TALL确定所述区块链系统每秒确认的交易数量;
根据所述总交易数量nconf和交易保存量nsend确定交易成功率;
根据所述平均耗时、所述最大耗时、所述每秒区块链节点收到的交易数、所述每秒确认的交易数量、以及所述交易成功率确定测试结果。
7.根据权利要求6所述的适用于多节点区块链系统的性能测试方法,其特征在于,所述根据所述平均耗时、所述最大耗时、所述每秒区块链节点收到的交易数、所述每秒确认的交易数量、以及所述交易成功率确定测试结果,包括:
将所述平均耗时、所述最大耗时、所述每秒区块链节点收到的交易数、所述每秒确认的交易数量、以及所述交易成功率生成可视化的图,以展示所述测试结果。
8.一种适用于多节点区块链系统的性能测试装置,其特征在于,所述装置包括:
发压单元,用于将所述交易数据发送至第一区块链节点,其中,所述区块链网络中的N个所述区块链节点具有排列顺序,所述第一区块链节点为排列顺序第一的所述区块链节点;
接收单元,用于接收第N区块链节点返回的交易反馈;其中,所述交易数据会按照所述排列顺序在各个所述区块链节点中执行;
获取单元,用于获取“将所述交易数据发送至第一区块链节点”至“接收第N区块链节点返回的交易反馈”过程中的测试数据;
分析单元,用于根据所述测试数据,得到测试结果;
控制单元,与所述发送单元、所述接收单元以及所述分析单元相连,用于控制所述发送单元、所述接收单元以及所述分析单元的运行。
9.如权利要求8所述的适用于多节点区块链系统的性能测试装置,其特征在于,所述装置还包括:
生成单元,用于根据待测试数据生成交易数据。
10.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-7任一所述的适用于多节点区块链系统的性能测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310162147.XA CN116319416A (zh) | 2023-02-23 | 2023-02-23 | 一种适用于多节点区块链系统的性能测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310162147.XA CN116319416A (zh) | 2023-02-23 | 2023-02-23 | 一种适用于多节点区块链系统的性能测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116319416A true CN116319416A (zh) | 2023-06-23 |
Family
ID=86789900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310162147.XA Pending CN116319416A (zh) | 2023-02-23 | 2023-02-23 | 一种适用于多节点区块链系统的性能测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116319416A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116909931A (zh) * | 2023-09-12 | 2023-10-20 | 广州民航信息技术有限公司 | 一种针对Fabric区块链的性能检测系统 |
-
2023
- 2023-02-23 CN CN202310162147.XA patent/CN116319416A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116909931A (zh) * | 2023-09-12 | 2023-10-20 | 广州民航信息技术有限公司 | 一种针对Fabric区块链的性能检测系统 |
CN116909931B (zh) * | 2023-09-12 | 2023-12-26 | 广州民航信息技术有限公司 | 一种针对Fabric区块链的性能检测系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109885857B (zh) | 指令发射控制方法、指令执行验证方法、系统及存储介质 | |
CN116319416A (zh) | 一种适用于多节点区块链系统的性能测试方法及装置 | |
US10108520B2 (en) | Systems and methods for service demand based performance prediction with varying workloads | |
CN109189572B (zh) | 一种资源预估方法及系统、电子设备和存储介质 | |
CN112969168B (zh) | 一种避免ble设备的期望发现延迟取得极大值的方法 | |
WO2020233064A1 (zh) | 基于功能测试的因素影响程度确定方法、装置及终端设备 | |
CN113268403B (zh) | 时间序列的分析预测方法、装置、设备及存储介质 | |
CN110007967B (zh) | 一种基于流式框架的数据处理方法、装置及设备 | |
CN105306553A (zh) | 访问请求调度方法及装置 | |
CN115271736A (zh) | 验证事务一致性的方法、装置、设备、存储介质及产品 | |
CN112560939A (zh) | 模型验证方法、装置及计算机设备 | |
CN115941538A (zh) | 一种针对多方安全计算的测试系统、测试方法及装置 | |
CN111367848B (zh) | 一种区块链的数据处理装置、相关设备及方法 | |
CN115576973A (zh) | 一种业务部署方法、装置、计算机设备和可读存储介质 | |
CN112422686B (zh) | 一种云平台的优化方法、装置、设备及可读存储介质 | |
CN111309475B (zh) | 一种检测任务执行方法及设备 | |
CN113742219A (zh) | 压力调节和性能测试方法、系统及存储介质 | |
CN113806204A (zh) | 一种报文字段相关性的评估方法、装置、系统及存储介质 | |
CN111352825A (zh) | 数据接口的测试方法、装置及服务器 | |
CN110795215A (zh) | 一种数据处理方法、计算机设备、存储介质 | |
CN111400377B (zh) | 一种目标数据集的确定方法及装置 | |
CN112242959A (zh) | 微服务限流控制方法、装置、设备及计算机存储介质 | |
CN113904957B (zh) | 采样点测试方法及其系统及主控设备 | |
CN116321272B (zh) | Af网元中ue地址信息的时效预测方法及装置 | |
CN116319107B (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 |