区块链网络性能的关键衡量指标

衡量区块链性能的关键指标包括:1) 区块链节点指标(生产的区块数,已处理的交易数,处理时间,完成时间等) 2) P2P 子系统指标(命中 / 未命中请求的数量,活跃用户的数量,P2P 流量的数量和结构等) 3) 系统节点指标(CPU,内存,存储,网络等)

TPS(每秒交易量)

用来描述加密货币的交易率。能够适应实际交易量的交易速率的发展是加密货币技术研究的重要领域。

(除了TPS,还有TPMC,Transactions Per Minute, 每分钟处理的交易量)
TPS是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。

业务交易数据的信息系统必须具有可靠的度量标准和量化绩效。每秒事务处理度量用于计算处理常规事务和记录保存的系统的性能。
公式:T÷S=TPS
T:事务数;
S:秒数;
TPS:每秒事务数

从我们的角度来看,“测量区块链 TPS”意味着进行全方位的性能测量:
1)在可重复条件下
2)接近真实的区块验证节点数量
3)使用各种类型的交易:

  • 研究的区块链典型(例如,主要加密货币的 transfer ())
  • 加载存储子系统(每笔交易都有相当大的变化)
  • 加载网络带宽(大型交易)
  • CPU 加载(大规模密码转换或计算)

P2P 层

点对点子系统作为区块链网络的中间层经常被忽略。这要归咎于区块交付和验证节点之间交易的模糊延迟。
当验证节点的数量很少时,他们是本地化的,用户列表是硬编码的,所有的一切都运行正常并且非常快速。但是,验证节点在地理上是分布的,并且模拟丢包情况,我们正面临严重的“TPS”故障。

例如,当使用附加的最终确定性算法测试 EOS 共识时,将验证节点的数量增加 80 到 100
台,分布在四大洲,对最终确定性几乎没有什么影响。

同时,增加的丢包验证严重地影响了最终确定性,这证明需要额外地 P2P 层配置以更大程度地抵抗网络数据包丢失(而不是高延迟)。不幸的是,存在有许多不同的设置和因素,只有基准测试才能使我们了解所需的验证节点数量,并获得相对舒适的区块链速度。

重要的 P2P 指标可以是:
1)入站出站的流量
2)链接到用户成功 / 失败的数量
3)返回了之前缓存的数据块的次数,以及进一步转发请求以找到所需块的次数(缓存命中 / 未命中模拟)
例如,访问数据时未命中数大,意味着只有少数节点拥有请求的数据,而它们没有时间将这些数据分发给每个节点。接受 / 发送的 P2P 流量允许识别处理网络配置或通道问题的节点。

CPU

CPU 显示处理器执行的计算量。如果 CPU 负载很高,表示节点正在使用逻辑或 FPU (几乎从未在区块链中使用)积极地进行计算。

可以将 CPU 划分为更多指标,以指出代码瓶颈。例如,系统时间——花费在内核代码上的时间,用户时间——花费在用户进程上的时间,io——等待来自慢速外部设备(磁盘 / 网络)的 I/O,等等。

内存

内存负载不足表明可能会增加区块数据限制或最大交易复杂性。
响应网络客户端的完整节点依赖于文件缓存指标。主要的网络指标是流量的大小(以字节为单位)、发送和接受网络数据包的数量、丢包率。这些指标经常被低估,因为区块链还不能以 1Gbit/s 的速度处理交易。

存储

磁盘子系统是所有服务中最慢的组件,常常会导致严重的性能问题。过多的日志记录、意外的备份、不便的读 / 写模式、大量的区块链总量,所有这些都可能导致节点速度显著下降或者对硬件的过度需求。

这些存储指标非常重要,因为它们可以确定现代键值数据库中的瓶颈。读 / 写 IOPS 数,最大 / 最小 / 平均延迟和许多其他指标可帮助优化磁盘操作。

主要观点参考了此处

你可能感兴趣的:(区块链——琐碎知识,区块链,分布式)