LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > PlatONVSEOS性能全面领跑拟真环境见真章

PlatONVSEOS性能全面领跑拟真环境见真章

2020-09-18 PlatON____云图 来源:区块链网络

6月28日,PlatON首度公开压力测试报告。目前已在测试网环境下和仿真EOS环境下分布完成了四次压力测试。本次测试主要对PlatON进行宏基准测试。由于EOS是当前性能比较显著的公链,因此本次测试选择在相同测试条件下使用相同测试方法与EOS做对比测试。

下面为报告内容汇总:

测试指标

首先,在性能测试中,我们需要关注测试指标,此次主要关注的测试指标为:交易确认时间(Time to Finality: TTF)、交易吞吐量(Transaction per Second: TPS)与资源使用指标。我们设置数据采集采样周期为10秒,每个采集周期末计算周期内的各指标平均值。

交易确认时间

交易确认时间为交易在整个网络上最终被确认的时间。通常[1]认为TTF由两部分组成:TTF=TI+TC,其中TI为区块产生的间隔,TC为区块被验证完成和最终确认的时间,本次测试我们根据出块间隔结合共识机制中区块达到最终不可逆的时间来计算TTF。在后续的进一步测试中,我们将对每笔交易从产生到最终达到不可逆的时间延迟做更详细的测试分析。

交易吞吐量

系统每秒处理交易数,单位是笔/秒。这里的交易为成功交易,指打包在区块中并且有成功执行receipt的交易。我们通过分析区块数据来统计单位时间范围(通常为1秒)内产生的区块中交易总数作为TPS。

资源占用率

资源指标指系统在负载情况下所消耗的系统资源,包括CPU、内存、磁盘存储和网络流量。

CPU-CPU指标指系统在负载情况下,CPU的使用率。

内存-内存指标指系统在负载情况下,内存的使用率。

磁盘存储-这个指标是系统在负载情况下,磁盘存储增加的情况。

网络吞吐量-网络吞吐量是指在无网络故障的情况下单位时间内通过的网络的数据数量。单位为Byte/s。

测试工具

本次测试实现了专门针对性能测试的测试插件,通过在插件中直接产生交易并通过P2P广播的方式,将交易广播到共识节点,尽量避免性能受RPC接口的影响。

由于PlatON和EOS系统的实现差异,本次测试中使用的PlatON测试插件和EOS测试插件在功能上有一些差异,主要体现在PlatON的测试账户及其Token分配直接在创世区块中内置,而EOS的测试账户及其Token分配在测试插件中初始化。

另外由于PlatON的接口支持,PlatON测试插件中可以直接更为准确地统计TPS指标,而EOS测试的TPS是通过对区块数据的分析进行统计。

PlatON本次测试部分遵循了此前定义的标准性能评估模型,后续会进一步做全面的测试,详情请看:

《教你看清真实TPS PlatON定义标准性能评估模型》

测试环境

本次测试采用AWS的c5d.4xlarge服务器,Intel(R) Xeon(R) 8124M 16核 3.0GHz,32G内存,300GSSD硬盘。对2个系统均使用8000个账户进行测试。

测试负载

我们的目的主要是测试整个区块链系统的性能,这里我们选取几个典型的应用作为宏基准测试:原生Token转账、Token合约转账、key-value存储合约。

测试结果

原生Token转账

原生Token转账性能

原生Token转账资源消耗

在原生Token转账性能测试中,PlatON转账平均TPS为9604笔/秒,最大值为14755笔/秒,EOS转账平均TPS为3049笔/秒,最大值为5393笔/秒。

§?在CPU使用率增长不多的情况下,PlatON性能明显优于EOS,这是由于PlatON的并行交易机制大大提升了性能。

§?PlatON的内存和网络资源消耗远小于EOS,从原生Token转账资源消耗图中看,测试过程中存储整体消耗两者差不多,但是平均到交易,PlatON的存储消耗远低于EOS。

§?交易确认时间上,PlatON和EOS均比较稳定。PlatON中每个区块达到最终确认的条件是后续有2个子孙区块被投票确认。按照EOS的说法[2],每轮由21个节点轮流出块,每个节点连续生产12个区块,每个区块要达到最终确认,需要经过两个轮次,每个轮次需要收齐至少15个节点的间接确认,也就是说每个区块至少需要等待后续15x12x2=360个区块才能最终确认,按照EOS平均出块时间为0.5秒计算,最终确认时间为180秒,比PlatON长。

Token合约转账

Token合约转账性能

Token合约转账资源消耗

在key-value合约转账性能测试中,PlatON-EVM调用keyvalue合约平均TPS为5237笔/秒,最大值为6304笔/秒。PlatON-WASM调用keyvalue合约平均TPS为3297笔/秒,最大值为3797笔/秒。EOS调用keyvalue合约平均TPS为2451笔/秒,最大值为6268笔/秒。

§?PlatON性能明显优于EOS,CPU占用也更高,说明PlatON在多核CPU的利用率更高。

§?PlatON的内存和网络资源消耗远低于EOS,存储消耗差不多。

§?交易确认时间上,PlatON和EOS均比较稳定,EOS区块的最终确认需要等待360个区块,TTF比PlatON长。

§?在测试过程中EOS共识节点内存不断增长,导致内存超系统极限被OS杀掉,在以上图中也可看到明显的中断曲线。

测试总结

通过对PlatON和EOS的对比测试,总结如下:

§?受益于基于DAG的并行交易机制,PlatON的原生Token转账TPS性能优势明显。

§?在合约交易上,两条公链的性能差异不大,PlatON的WASM合约性能有提升空间。

§?共识机制上的优化,使得PlatON的最终确认时间远比EOS低。

§?PlatON更能充分利用CPU,在内存、网络上的开销远低于EOS,测试过程中存储整体消耗两者差不多,但是平均到交易,PlatON的存储消耗低于EOS。

§?EOS在测试过程中内存不断上涨经常涨到一定阈值后进程被系统kill调用,具体原因待进一步分析和明确。

参考资料:

[1] Mengting Liu, Yinglei Teng, F. Richard Yu, "Deep Reinforcement Learning based Performance Optimization in Blockchain-Enabled Internet of Vehicle", IEEE International Conference on Communications (ICC), 2019.

[2] Daniel Larimer, “DPOS BFT— Pipelined Byzantine Fault Tolerance” , Internet, http s://medium.com/eosio/dpos-bft-pipelined-byzantine-fault-tolerance-8a0634a270ba, 2018.

—-

编译者/作者:PlatON____云图

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...