区块链性能测试工具Hyperbench详解
Posted 趣链科技
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了区块链性能测试工具Hyperbench详解相关的知识,希望对你有一定的参考价值。
前言
区块链行业的发展如火如荼,已经渗透到金融、政务、司法、民生等各个领域,区块链技术也日益受到人们的关注。然而,当你想选择某一区块链平台的时候,是否会遇到以下问题 :
1)给业务问题输出解决方案时,区块链选型焦头烂额 ?
2)选型区块链时,官方测评宣传性能猛如虎,实际一测猛虎看了都流泪…
3)钱都花了,怎么办 ?
区块链开源性能测评工具HyperBench,解决你的问题。图片图片图片
https://github.com/meshplus/HyperBench
原文链接:https://mp.weixin.qq.com/s/TdXMpXqget2Oz6eL0Iq_mw
关注公众号:QTech 解锁更多区块链技术干货!
HyperBench 值得拥有的开源测评工具
从产品定位来说,HyperBench是一个高效的区块链平台性能测试工具,具备通用、易用、可伸缩等核心优势。
通用化:可以适配Hyperchain、Xuperchain、CITA、Fabric、以太坊等多种不同的区块链主流平台,后续将持续扩展,期望最终可以达到区块链全平台的支持;
高易用:配置操作方便、测试脚本定制简单(基于统一标准库)、可快速构建平台测试,测试指标多样,支持可视化工具进行数据渲染,最终实现数据可视化统计分析;
可伸缩:HyperBench 具备良好的伸缩弹性,采用分布式集群方案进行压力调度,使其具备良好的伸缩延展性,同时还会最大化的优化单机性能,可以有效避免单一机器生成的压测负载量很快就会达到机器的资源上限问题,具备良好的压力输出能力。
轻松一用,高效测评
HyperBench在AWS c5d.2xlarge规格的云服务器上,测试轻客户端的区块链平台Hyperchain时,单机能够达到8000并发20000QPS的压力输出。
只需一条命令即可启动远程压测节点,简单配置就可以实现分布式压测。
^C
[hyperchain@CentOS-7 ddl]$ ./hyperbench-2 worker -p 8886
^C
-bash-4.2$ ./hyperbench-2 worker -p 9081^C[hyperchain@CentOS-7 ddl]$ ./hyperbench-2 worker -p 8886^C-bash-4.2$ ./hyperbench-2 worker -p 9081
配置压测节点ip
启动压测服务
在测试过程中,HyperBench封装了区块链接口,用户只需要简单的lua操作就能实现特定的转账功能和合约操作,做到真正的易用,为测试人员排除后顾之忧。
转账功能示例,HyperBench的优势立显。
封装后:
合约操作示例-HyperBench的优势扩大。
无独有偶,合约操作示例更加简单,封装了底层接口的实现,用户只需要关注调用的方法和传参就可以实现自定义合约场景的压测。
封装前:
封装后:
为什么选择HyperBench
设计理念
在区块链领域实现通用区块链基准测试工具面临的主要难题有两方面:
一方面是现在并没有统一的区块链系统功能要求,各区块链系统所提供的功能各不相同,如何整合、适配主流的区块链系统是一个值得思考的问题;
另一方面是现在没有区块链系统统一的基准测试规范,大多是由系统研发公司与研究机构自行提出的,因此测试用例会随着时间不断变化,如何快速、灵活地根据变化的测试用例搭建测试环境同样是一个需要考虑的问题;
HyperBench对上述两个问题的解答是:从实际区块链系统使用者的视角出发,将区块链操作接口抽象成统一的合约部署、调用、查询等接口,借此来解决统一适配的问题;测试逻辑以脚本的形式构造,允许测试人员基于统一的区块链操作接口和测试引擎所暴露的钩子函数自由灵活地制定测试用例,以此来解决快速搭建测试环境的问题。
设计思路
总的来说,在架构上,HyperBench基于通用的测试引擎,通过将测试用例和被测区块链平台的接口分层抽象成易于扩展的基准层和适配层,使测试人员能够根据测试用例快速构建出不同区块链平台的测试用例,测评区块链系统在特定测试用例下的交易吞吐量与成功率。
HyperBench作为分布式高性能基准测试工具,其整体架构分为五个部分:
基准层主要由测试用例构成,每个测试用例又分成了两个部分,用来配置测试引擎的测试参数配置及基于测试引擎所暴露出来的钩子函数制定测试逻辑的Lua测试脚本。
引擎层主要是由五个通用的控制测试行为的组件构成。分布式控制器负责主从模式的分布式控制,主要是进行测试上下文和测试任务的分发。压力调度器主要负责根据参数向受测区块链系统输出压力。虚拟机池负责管理模拟用户行为所使用的Lua虚拟机。数据统计负责采集基准测试数据。可视化工具负责将采集到的数据进行渲染。
虚拟机层主要由若干Lua虚拟机组成。虚拟机由引擎层的虚拟机池管理,拥有独立的上下文,因此可以用来模拟用户操作逻辑。压力调度器通过并发调用虚拟机暴露出的钩子函数来实现压力输出。分布式控制器同样通过调用虚拟机暴露出的钩子函数来进行运行时的虚拟机上下文同步,同步内容包括智能合约地址、调用的ABI等。虚拟机所执行的逻辑中,一部分钩子函数的脚本代码是由基准层的Lua测试脚本编写的,还有一部分是HyperBench系统本身内置的。
适配层是将对区块链平台的操作统一抽象成合约部署、调用、查询、转账等区块链客户端接口,屏蔽区块链系统的功能细节。受测区块链系统使用各自的SDK实现客户端接口以进行适配。通过这种方式,为编写测试提供一个统一视角,方便形成统一的基准测试规范。
性能扩展层主要是为了加速Lua虚拟机执行测试逻辑的效率而增加的。使用Go实现Lua5.1的标准库,并且将一些测试中常用的工具方法,如长随机字符串生成等方法,内置到虚拟机中供测试人员使用,通过这种方式来尽量减小在系统中引入虚拟机和脚本带来的性能损失,提高测试工具性能。
设计对比
相较于当下流行的性能测评工具Caliper,HyperBench在易用性和扩展性上具备一定优势。
Caliper通过Node.js的线程与Promise机制来实现并发的压力输出。这种架构下的Caliper对于测试人员,在线程与Promise的模型下,较难在运行时缓存测试上下文,从而构造比较复杂的连续区块链操作用例。另外,由于Node.js的限制,如果不使用C/C++进行扩展的话,性能是比较差的。
HyperBench配置操作方便,脚本定制简单,可以快速构建区块链平台性能测试。HyperBench拥有强大的智能调度引擎,通过分布式控制器调节多台压力机,能够对压力数据运行时上下文进行分发、调控、汇总及可视化分析,同时又能保证单台压力机具有良好的压力输出能力,强大而又全面。
总结
HyperBench 作为通用的性能基准测试框架,期望成为区块链行业人人都在用的通用性能测试工具,意在赋能区块链行业三大价值:技术价值、业务价值、生态价值。
技术价值
攻克区块链平台性能测试的痛点问题,提供灵活易用的测试引擎,提供能对接多种区块链平台的适配器,提供具备高拓展性的分布式控制器,提升区块链测试平台的易用性、通用性和可伸缩性。
业务价值
助力区块链性能测试标准化、易用化,促进区块链技术发展,更好赋能区块链业务。
生态价值
目前开源的区块链性能测试工具较少,趣链HyperBench平台支持多种主流区块链平台适配,并具备高易用、高通用、可伸缩的特点,贡献开放原子开源基金会有助于区块链开源生态体系的丰富和完善,促进相关标准的建设,整体促进区块链技术开源生态繁荣。
HyperBench可以在以下的场景中,助你一臂之力。
还等什么,Pick it !
[海豚区块链] 华为推出区块链性能测试工具 人民网上线“人民创投区块链”微信公众号
海豚区块链
媒体 | 咨询 |培训
- 区块链资讯 -
【华为推出区块链性能测试工具】据coindesk报道,去年5月,华为推出了一块测试区块链性能工具ProjectCaliper,经过一年的幕后工作,当前准备正式提交给由LinuxFoundation领导的超级账本(Hyperledger)区块链联盟,预计到2018年底还会增加更多区块链网络。
【波多黎各政府宣布成立区块链咨询委员会】今天在圣胡安举行的BlockchainUnbound会议期间,波多黎各政府宣布成立了一个咨询委员会,旨在促进该国区块链业务的发展。该委员会由公共和私营部门的代表组成,成员包括政府的首席创新官员和财政部长里维拉,以及已将业务转移到波多黎各的企业家和投资者。此前,一些富有的加密货币投资者蜂拥前往波多黎各,并建立了一个秘密的加密乌托邦。波多黎各经济发展和商业部长ManuelLaboyRivera在会上表示,区块链正在加速全世界的经济和社会变革,波多黎各希望成为其中的一员。根据他的说法,波多黎各的法案已经为新企业提供了税收优惠政策。最重要的是,政府将通过该咨询委员会研究如何制定最好的法规和法律框架来支持区块链业务。同时,波多黎各作为美国联邦的一员,也拥有联邦政府提供的所有保护,并且还必须遵守美国的监管框架。
【丁磊:网易正在做区块链社区项目】全国政协委员、网易公司董事局主席兼CEO丁磊日前对媒体表示,网易正在做区块链社区项目,区块链技术是非常重要的一个环节,虽然已经有四五年了,但仍是一个巨大创新。丁磊表示,区块链本身是一个技术,这个技术本身是没有问题,也能解决很多问题,应用场景很丰富很广泛,其中一个应用是智能合约,其中放入生物信息的特征,那就会解决人与人的信任问题。信任问题解决后可以推动金融领域发展,比如借钱收款等。丁磊称,现在感觉区块链存在过度炒作的情况,技术本身没有坏处,只是不要借技术名义和噱头来进行炒作,而应该根据具体应用场景结合来推广区块链。
【人大代表:建议运用区块链技术进行学历学位证书认证】今年两会期间,全国人大代表、致公党广东省委会副主委李秉记向大会提交了《关于探索运用区块链技术进行学历学位证书认证的建议》。《建议》认为,区块链技术具有独特的加密方式,非常适合作为学历学位认证手段。
【小米区块链游戏加密兔 价格炒到上百元】据腾讯一线报道称,目前在社交网络上已经传出小米区块链游戏加密兔炒到上百元价格的消息。
【3.15中国质量万里行上线区块链频道】今日中国质量万里行网站正式上线区块链频道。上线后将做区块链领域资讯和深度报道,并着重关注区块链技术真实落地情况以及应用的案例。据悉,《中国质量万里行》是由国家质检总局主管的以接受315消费投诉、曝光质量黑幕、提供315维权知识、配合质量监管、推广名优品牌为主的质量监督型新闻期刊。
- 货币资讯 -
【荷兰财长提出抑制虚拟货币风险的四个路径】据ETHNews消息,为抑制虚拟货币的风险,荷兰财政部长WopkeHoekstra提出了四条实现路径:1.必须关闭消费者和投资者保护方面的差距,采取相协调、不冲突的措施;2.必须保证金融体系的完整性;3.必须保护加密货币背后的创新技术,如密码学和分布式账本技术(DLT);4.加密货币的跨界性质要求在国际层面采用通用方法,难以维持的国际规则很容易被钻空子。据市场研究公司KantarTNS的数据,目前约有50万荷兰家庭拥有加密货币,Hoekstra曾警告称:投资比特币或其他加密货币并非没有风险。
【G20下周举行两场有关加密货币会议将围绕加密货币影响及其基础技术的潜在应用】G20将于下周举行两场关于加密货币的讨论,旨在对监管作出共同的回应。下周G20首脑会议的一名媒体代表告诉CoinDesk,周一将举行第一次会议,会谈将包括阿根廷财政部长NicolsDujovne和经济合作与发展组织(经合组织)秘书长JosAngelGurra以及其它利益相关方。周二将进行第二次会议。两次会议的议程和谈话要点尚未公布,然而一份公开文件表明,讨论将围绕加密货币的影响以及其基础技术的潜在应用来展开。该代表表示,这个问题是会议议程上的一个重要议题,各国代表们会考虑发出共同的回应,在不妨碍创新的情况下降低风险。该文件指出,区块链有可能促进金融包容,但是分析其对金融稳定,逃税和金融违法活动的影响也是重要的。
【SEC执法部门联席主管:SEC已在加密货币领域展开数十项调查】美国证券交易委员会(SEC)执法部门联席主管StephanieAvakian:已经在加密货币领域展开数十项调查,ICO已经在最近数月面临越来越多的审查。据统计,自2017年9月份以来,SEC已经展开超过六次与加密货币相关的执法行动。
【美国反对任何针对加密货币公司或阻止加密领域增长的措施】据彭博报道,美国财政部一名高级官员透露,尽管存在贸易摩擦,美国财政部长姆努钦寻求在即将召开的20国集团会议上发挥领导作用,讨论有关加密货币规则的问题。据一名不具名官员透露,美国对谷歌、Facebook和苹果公司面临的加密税感到担忧,美国反对任何针对加密货币公司或阻止加密领域增长的措施。
(内容仅作参考,不构成任何投资建议)
扫描二维码
了解区块链
海豚区块链
更多区块链课程推荐
(北京)
(上海)
(上海)
以上是关于区块链性能测试工具Hyperbench详解的主要内容,如果未能解决你的问题,请参考以下文章
[海豚区块链] 华为推出区块链性能测试工具 人民网上线“人民创投区块链”微信公众号
布比并行快速的多链分片技术特性及实现原理 | 商用区块链BubiChain详解