我是靠谱客的博主 忐忑汽车,最近开发中收集的这篇文章主要介绍个人有关《超级账本区块链性能指标白皮书》的笔记,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

原文:

https://www.hyperledger.org/learn/publications/blockchain-performance-metrics

本文:

本文只是我对原文的一些重点的一些摘录。
出块频率高低并不一定是有效的tps指标,一个块里包含了多少有效的交易才是重点啊。

测试系统

显示了区块链性能评估的典型配置。左侧的测试线束在右侧显示了用于针对被测系统(SUT)生成负载的程序和系统。图1中的每个术语都在本节中定义。
在这里插入图片描述

测试线束

这个测试线束用于运行性能评估的硬件和软件。这个测试工具通常代表许多客户机,这些客户机可以注入工作负载并在任意数量的节点上进行观察。

客户

一个客户是可以将工作引入系统或调用系统行为的实体。在区块链系统中,通常在多个级别上有多种类型的客户端。

一个负载生成客户端代表用户向区块链网络(SUT)提交交易的节点,通常遵循自动测试脚本。客户机和SUT之间的接口可以从简单的表示状态转移(REST)接口到全面的软件开发工具包(SDK)。根据接口的不同,客户机可以是无状态的,也可以是有状态的。

一个观察客户是一个节点,它接收来自SUT的通知,或者可以查询SUT有关已提交事务的状态,通常在自动测试脚本之后。可以有多个观察客户端。观察客户端不能提交任何新事务。

测试系统(SUT)

定义被测系统(SUT)是一个复杂的问题。在本文档中,SUT被定义为运行和维护区块链所需的硬件、软件、网络和具体配置。或不包括任何用于加速读取外部数据库的时间、SUT。

节点

在区块链网络的上下文中,节点是一个独立的计算实体,它与网络中的其他节点通信,共同协作完成交易。

节点是一个虚拟实体,从某种意义上说,它可以运行在物理硬件上,也可以作为VM或容器化环境运行。在后一种情况下,节点可以与同一网络中的其他节点共享物理硬件。

关键指标定义

本节定义了几个适用于区块链的常用指标,并在适当的情况下提供了一个数学公式。有关区块链上下文中延迟的进一步讨论,请参见附录A。附录中所包含的任何实验性指标都还不够成熟。

读取反应时间

读取延迟=收到响应的时间–提交时间

读吞吐量

读吞吐量=总读取操作数/总时间(秒)

读吞吐量是一个度量在定义的时间段内完成多少个读取操作的度量,用每秒读取数(RPS)表示。这个指标可能会提供信息,但不是区块链性能的主要衡量标准。事实上,系统通常会部署在区块链附近,以方便重要的阅读和查询。

事务延迟

事务延迟=(确认时间@网络阈值)–提交时间

事务延迟是一个网络范围的视图,它显示事务的效果在整个网络中可用所花费的时间。测量包括从提交到结果在网络中广泛可用的时间。这包括传播时间和由于共识机制而产生的任何稳定时间。
此指标是按事务计算的,但在大多数情况下,报表应提供所有事务的各种统计信息,如平均值、高值、低值和标准差。

事务吞吐量

事务吞吐量=提交的事务总数/总时间(以秒为单位)@@已提交节点
交易吞吐量是区块链SUT在定义的时间段内提交有效交易的速率。请注意,这不是单个节点的速率,而是整个SUT的速率,即在网络的所有节点上提交的速率。此速率以网络大小的每秒事务数(TPS)表示。
请记住,应该从总事务中减去无效事务的总数,以得到提交的事务总数。关于如何计算延迟的进一步讨论见附录。

延迟计算示例

SUT立即终结

采用基于投票的共识的制度具有直接的最终性。一旦一个交易被提交,这个国家就被保证是不可撤销的。与其余的情况一样,测试过程应该度量每个节点的承诺,以确保整个分布式系统的完全承诺。
在这里插入图片描述

具有概率终结性和已知拓扑的SUT

使用基于彩票的共识的系统具有概率最终性。在受控性能测试中,拓扑结构是已知的。这可能是大多数许可部署的情况。在这种情况下,只有当多个节点达到相同的状态时,才会确认一个事务。
在这里插入图片描述

具有概率终结性和未知拓扑的SUT

这样的系统通常被设计成在一个不受信任的环境中运行,匿名的“矿工”。只有有限的访问点会暴露给客户端。在这种情况下,确认应该被延迟,直到有足够的块被链接到块/事务后面。
在这里插入图片描述

最后

以上就是忐忑汽车为你收集整理的个人有关《超级账本区块链性能指标白皮书》的笔记的全部内容,希望文章能够帮你解决个人有关《超级账本区块链性能指标白皮书》的笔记所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部