| With the development and increasingly popular application of Blockchain technology,blockchain platform performance,as well as its testing methods,have become research topics of concern in academia as well as key focuses among enterprises.Hyperledger Fabric is a representative enterprise-level consortium blockchain platform,and has enjoyed widespread popularity.The platform’s performance test outcome is directly affected by its network architecture,configuration parameters and consensus algorithm.Considering the complexity of blockchain’s performance,conventional testing schemes and tools are no longer applicable for blockchain performance testing.Thus,researching blockchain performance testing techniques and developing the corresponding testing tools entail significant academic value and application prospects.Against this backdrop,this paper attempted to investigate the performance of Hyperledger Fabric by designing a universal blockchain performance testing tool named BCPerfTool and using it in performance testing and evaluation for this research.To begin with,technical analyses were conducted on several blockchain platforms,based on which findings it was established that,from a “performance testing” point of view,blockchain systems can be abstracted into the consensus layer,the data model layer,the execution layer and the application layer.Next,keeping the distinct features of blockchain systems in mind,performance assessment indicators that match blockchain’s characteristics were defined.Based on the abovementioned hierarchical abstractions and performance indicators,workload macro-and microbenchmarks were designed and implemented in the performance testing of the entire blockchain hierarchy as well as each of the layers respectively.Next,this paper presented an in-depth elaboration of BCPerfTool’s design and implementation in terms of its overall architecture,configuration files,asynchronous drivers and inter-process coordination.Afterwards,based on the low-level design(LLD),a variety of workload-bearing client programs were designed to adapt to various testing scenarios.Then,the accuracy and effectiveness of BCPerfTool were verified by comparatively analyzing the respective performance of Hyperledger Fabric and Ethereum.More experiments were carried out to further test BCPerfTool and quantitatively analyze the influences of such configuration parameters like block size,endorsement policy and state database type on the performance of Hyperledger Fabric.Eventually,based on the findings of the above experiments,the fundamental principles governing the parameter configuration in Hyperledger Fabric were put forward.The experiments suggest that the proposed design and research of the modularized BCPerfTool is capable of not only nullifying the differences across blockchain platforms,offering diverse workloads,and using its workload-bearing client programs to adapt to multiple possible scenarios,but also ensuring perfect compatibility with other blockchain platforms.More importantly,this study also proves that Hyperledger Fabric’s performance indicators(e.g.,data writing speed)can be effectively tested from the throughput rate,response time,blockchain generation rate and key value. |