本公开涉及区块链,具体而言,涉及一种区块链网络的压力测试方法及装置、计算机可读存储介质、电子设备和计算机程序产品。
背景技术:
1、相关技术中的用于区块链网络的压力测试工具,是由压测人员指定压力测试(简称压测)参数,然后区块链网络在压测人员人为指定的压测参数下进行压力测试,如果人为指定的压测参数过高,则有可能会使被压测的区块链网络或者区块链系统负载过大而拒绝服务,或者使区块链网络或者区块链系统崩溃,或者因为区块链网络或者区块链系统的网络接口模块接收到太多请求而影响其它模块的正常运作,从而不能反映区块链网络或者区块链系统的真正处理能力,这时需要停止区块链网络或者区块链系统的压测,人为调整压测参数后重新进行压测,在人为不能准确预测系统性能的情况下,重新压测的次数会比较多,从而降低了区块链网络或区块链系统的压测性能。
技术实现思路
1、本公开实施例提供一种区块链网络的压力测试方法及装置、计算机可读存储介质、电子设备和计算机程序产品,能够根据被压测的区块链节点的节点性能监控数据动态调整压力测试参数,从而可以提高压测性能。
2、本公开实施例提供一种区块链网络的压力测试方法,所述区块链网络包括区块链节点,所述区块链节点包括第一区块链节点,所述方法由压测设备执行。其中,所述方法包括:根据第一压力测试参数向所述第一区块链节点发送第一压力测试交易,所述第一压力测试交易包括第一压测测试用例,以便所述第一区块链节点执行所述第一压测测试用例;根据所述第一区块链节点的第一节点性能监控数据调整所述第一压力测试参数,获得第二压力测试参数;根据所述第二压力测试参数向所述第一区块链节点发送第二压力测试交易,所述第二压力测试交易包括第二压测测试用例,以便所述第一区块链节点执行所述第二压测测试用例。
3、本公开实施例提供一种区块链网络的压力测试方法,所述区块链网络包括区块链节点,所述区块链节点包括第一区块链节点,所述方法由所述第一区块链节点执行。其中,所述方法包括:接收压测设备根据第一压力测试参数发送的第一压力测试交易,所述第一压力测试交易包括第一压测测试用例;执行所述第一压力测试交易中的所述第一压测测试用例;接收所述压测设备根据第二压力测试参数发送的第二压力测试交易,所述第二压力测试交易包括第二压测测试用例,其中,所述第二压力测试参数是根据所述第一区块链节点的第一节点性能监控数据调整获得;执行所述第二压力测试交易中的第二压测测试用例。
4、本公开实施例提供一种区块链网络的压力测试装置,所述区块链网络包括区块链节点,所述区块链节点包括第一区块链节点,所述装置设置于压测设备。其中,所述装置包括:交易发送单元,用于根据第一压力测试参数向所述第一区块链节点发送第一压力测试交易,所述第一压力测试交易包括第一压测测试用例,以便所述第一区块链节点执行所述第一压测测试用例;参数调整单元,用于根据所述第一区块链节点的第一节点性能监控数据调整所述第一压力测试参数,获得第二压力测试参数;所述交易发送单元还用于根据所述第二压力测试参数向所述第一区块链节点发送第二压力测试交易,所述第二压力测试交易包括第二压测测试用例,以便所述第一区块链节点执行所述第二压测测试用例。
5、本公开实施例提供一种区块链网络的压力测试装置,所述区块链网络包括区块链节点,所述区块链节点包括第一区块链节点,所述装置设置于所述第一区块链节点。其中,所述装置包括:交易接收单元,用于接收压测设备根据第一压力测试参数发送的第一压力测试交易,所述第一压力测试交易包括第一压测测试用例;交易执行单元,用于执行所述第一压力测试交易中的所述第一压测测试用例;所述交易接收单元还用于接收所述压测设备根据第二压力测试参数发送的第二压力测试交易,所述第二压力测试交易包括第二压测测试用例,其中,所述第二压力测试参数是根据所述第一区块链节点的第一节点性能监控数据调整获得;所述交易执行单元还用于执行所述第二压力测试交易中的第二压测测试用例。
6、本公开实施例提供了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现如上述实施例中的区块链网络的压力测试方法。
7、本公开实施例提供了一种电子设备,包括:至少一个处理器;存储装置,配置为存储至少一个程序,当至少一个程序被至少一个处理器执行时,使得至少一个处理器实现如上述实施例中的区块链网络的压力测试方法。
8、根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例的各种可选实现方式中提供的方法。
9、在本公开的一些实施例所提供的技术方案中,当压测设备对区块链节点中的第一区块链节点(可以是区块链网络中的任意一区块链节点)进行压力测试时,假设压测设备开始以第一压力测试参数向该第一区块链节点发送第一压力测试交易,该第一压力测试交易包括第一压测测试用例,第一区块链节点接收到第一压力测试交易后,可以执行第一压力测试交易中的第一压测测试用例,此外,压测设备还可以获取第一区块链节点的第一节点性能监控数据,并根据该第一区块链节点的第一节点性能监控数据来动态地调整上述第一压力测试参数,获得调整后的第二压力测试参数,压测设备可以根据调整后的该第二压力测试参数向该第一区块链节点发送第二压力测试交易,该第二压力测试交易包括第二压测测试用例,该第一区块链节点接收到第二压力测试交易之后,可以执行该第二压力测试交易中的第二压测测试用例,由于被压测的第一区块链节点的第一节点性能监控数据能够反映出第一区块链节点的处理能力,因此,一方面,本公开实施例提供的方法,能够根据被压测的区块链节点的处理能力动态调整对该第一区块链节点进行压力测试的压力测试参数;另一方面,还能用于探测区块链节点的性能。
1.一种区块链网络的压力测试方法,其特征在于,所述区块链网络包括区块链节点,所述区块链节点包括第一区块链节点,所述方法由压测设备执行;其中,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,根据所述第一区块链节点的第一节点性能监控数据调整所述第一压力测试参数,获得第二压力测试参数,包括:
3.根据权利要求2所述的方法,其特征在于,所述第一节点性能监控数据包括所述第一区块链节点的第一中央处理器使用率;
4.根据权利要求2所述的方法,其特征在于,所述第一节点性能监控数据包括所述第一区块链节点的第一内存使用率;
5.根据权利要求2所述的方法,其特征在于,所述第一节点性能监控数据包括所述第一区块链节点的第一网络带宽使用率;
6.根据权利要求2所述的方法,其特征在于,所述区块链网络包括交易池,所述第一节点性能监控数据包括所述交易池中的待打包交易数;
7.根据权利要求2所述的方法,其特征在于,所述区块链网络包括第一交易队列,所述第一节点性能监控数据包括所述第一交易队列中的待验签交易数;
8.根据权利要求2所述的方法,其特征在于,所述区块链网络包括交易池和第一交易队列,所述第一节点性能监控数据包括所述第一区块链节点的第一中央处理器使用率、第一内存使用率、第一网络带宽使用率、所述交易池中的待打包交易数以及所述第一交易队列中的待验签交易数;
9.根据权利要求2所述的方法,其特征在于,所述区块链网络包括交易池和第一交易队列,所述第一节点性能监控数据包括所述第一区块链节点的第一中央处理器使用率、第一内存使用率、第一网络带宽使用率、所述交易池中的待打包交易数以及所述第一交易队列中的待验签交易数;
10.根据权利要求2所述的方法,其特征在于,根据所述第二压力测试参数向所述第一区块链节点发送第二压力测试交易,包括:
11.根据权利要求10所述的方法,其特征在于,还包括:
12.根据权利要求10所述的方法,其特征在于,还包括:
13.一种区块链网络的压力测试方法,其特征在于,所述区块链网络包括区块链节点,所述区块链节点包括第一区块链节点,所述方法由所述第一区块链节点执行;其中,所述方法包括:
14.一种区块链网络的压力测试装置,其特征在于,所述区块链网络包括区块链节点,所述区块链节点包括第一区块链节点,所述装置设置于压测设备;其中,所述装置包括:
15.一种区块链网络的压力测试装置,其特征在于,所述区块链网络包括区块链节点,所述区块链节点包括第一区块链节点,所述装置设置于所述第一区块链节点;其中,所述装置包括:
16.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述程序被处理器执行时实现如权利要求1至12中任一项所述的方法或者如权利要求13所述的方法。
17.一种电子设备,其特征在于,包括:
18.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法;或者,