2020年度可信区块链性能专项介绍

2020年度可信区块链评测工作即将启动,为了更好的让参与测试厂商了解各个测试栏目,并提前做好测前准备工作。团队将会陆续针对各个测试栏目发布介绍文章。本篇主要围绕性能专项的评测展开说明。

2020年度可信区块链性能专项介绍

性能专项聚焦底层链在压力环境下的性能表现,目的是测出底层链的性能极值,以此为不同规模应用场景提供参考依据。
2020年度性能专项测试仍然由可信区块链提供统一的测试环境,受测厂商也需遵循一致的配置要求。具体包括受测底层链需在测试架构上采用单链、单通道、单片;签名规则需针对每笔交易进行有效签名;交易类型构造需统一,其中必选为多账户无关联的一对一转账,可选为数据大小固定的存证交易类型。针对不同交易类型,会生成各自的性能测试报告。
性能专项的测试报告将会按照不同的测试场景,分别记录资源监控指标与性能数据指标。首先测试场景与往年保持一致,分为三类:压力测试、尖峰冲击、稳定性测试。三者按照每秒发送交易量与每秒上链交易量的比值区分。比值通过测试工具实时监控得出,比值在1上下浮动界定为压力测试,在2上下浮动界定为尖峰冲击,对于稳定性测试,发送交易量取压力测试场景下的20%,且保持长时间运行。同时,各个测试场景分别针对4节点、16节点的规模展开性能测试。受测底层链需要在压力测试场景下取得95%以上的成功率、尖峰冲击场景下取得75%以上的成功率,稳定性测试取得超过95%的成功率,且各场景系统均无崩溃方可通过测试。
各个测试场景均会在测试报告中记录资源监控指标和性能数据指标。前者包括各个节点所在机器的CPU负载与使用率、磁盘IO、网络带宽利用率、内存使用率等时序数据展示,用以反映压测下各个节点占用资源情况;后者由可信区块链自主研发的性能测试工具TrustedBench测后生成,主要指标数据包括交易每秒接收量,代表底层链节点每秒接受的经过有效检验且返回交易标识的全部交易数量;交易每秒上链量,代表底层链每秒达成共识且上链成功的交易数量;交易上链成功率,在性能测试结束后,使用总上链交易数量除以总交易发送数量计算得出;交易上链平均延迟,计算全部交易从交易发送开始至上链成功对应的链上时间戳之间的平均延迟时间,以及其他指标供评估参考。
参与性能专项测试的厂商,均需要适配性能测试工具TrustedBench。工具在2019年可信区块链峰会上正式发布,TrustedBench作为区块链性能测试的通用性平台,支持集群化压力机部署、提供图形化用户配置界面、采用HTTP协议非侵入式与底层链适配连接、发送压力与报表生成分阶段执行等方式实现。

2020年度可信区块链性能专项介绍

如上图所示TrustedBench整体运行流程图分为准备阶段、发送阶段、生成报表三部分。准备阶段包括批量生成测试账户,生成合法签名的交易体;发送阶段将前序准备的交易体遍历发送,同时对发送实时监控,供区分不同测试场景;最后生成报表,当交易全部发送完毕后,事后通过遍历交易标识,查询每笔交易的链上结果,汇总并生成具有多维度指标的性能数据报告。
TrustedBench通过HTTP协议,抽离出一般区块链系统必备的接口,不需要单独针对不同的受测链开发Adapter,具有极强的通用性。受测厂商测前仅需准备相应的接口即可。具体参考附录。
下面介绍性能专项的测试流程,可信区块链评测体系各测试项在整体上遵循一致的测试环节,如下图所示。本文则主要介绍执行测试环节。

2020年度可信区块链性能专项介绍

首先受测的底层链需完成基础功能项的测试工作,满足区块链系统基本功能点的实现要求。第二步是厂商适配测试工具TrustedBench成功后进入正式测试环节。2020年度性能专项的正式测试时段初步定为6月初至9月初。每家正式测试时间大致为3 – 5天。最终的测试报告将会在测后一周内收集完毕。
注:2020年度性能专项提供的统一测试环境为更贴近真实的使用场景,计划由原局域网机房环境迁移至跨机房、跨地域的云环境。