原文作者:MixBytes
编译:头等仓(First.VIP)
衡量区块链性能的关键指标包括:
1、区块链节点指标
2、P2P子系统指标
3、系统节点指标
当一切都正常时,你通常不用担心区块链测试。我们将解释为什么最好不要搁置性能评估,使用什么指标并充分利用它。让我们来一探究竟吧。
TPS
在分布式系统的上下文中,TPS是一个非常模糊和反复无常的指标。
TPS指标来自分布式数据库。它们通常使用标准化的交易类型或交易集合,并针对特定的集群或单独的机器进行配置。这样的“综合”指标无法反应所讨论的数据库或区块链的真实性能,因为在这样的系统中,交易处理时间可能会有所不同。
面向一致性的数据库只有在其他节点接收到足够数量的确认后才会提交交易,这样非常慢。
注:面向可用性的数据库认为,如果交易被简单的写入磁盘,那么它就是成功的。他们立即提供了更新的数据,并且速度非常快。
分析 | BTC四季度未来走势预期:火币全球站数据显示,BTC当前报价10104.60美元,日内涨幅1.14%。 针对当前走势,分析师K神表示,对于牛市而言,长期关键均线的位置非常重要,特别对于大势的研判作用,大势才是决定成败的关键。研究下BTC 2016年至2019年整个一轮牛熊周期转换和19年这一轮目前的小牛行情,可以发现BTC自16年初慢牛启动,整体走势结构依托20周均线震荡攀升上行,直至冲顶至17年疯牛顶点20000美元历史最高,而币价每次回踩20周均线支撑时,随机相对强弱指标Stoch RSI处于超卖区域并率先止跌上扬,形成周线级别的底背离,同时RSI指标也出现回落,不过均在下方53附近获得强支撑再次向上反弹,形态上为上涨中继状态,每次回踩均是加仓做多的良机。
BTC完成冲顶动作然后拐头下行,并有效跌破20周均线支撑,后续回抽也未能有效站回,熊市形态确立,包括后面每次向上反弹回抽,相应的周线级别Stoch RSI也都处于超卖区域,并且RSI指标有效跌破关键支撑53,后续的每次反弹也未能重新站上,那么前期的强支撑转变为强阻力,所以BTC价格每次反弹至20周均线都是减仓做空的机会。
目前,BTC这一轮强势拉升站上20周均线以来,一路攀升至近14000美元再回落至目前10100美元附近,这是本轮小牛行情以来BTC第一次回落测试20周均线支撑,并且相对强弱指数Stoch RSI和前期一样处于超卖区域,并出现拐头上行的趋势,而RSI指标自前期触顶14000美元,至目前一直处于一个下降三角形内运行,并逐步接近下方趋势强支撑53,一旦出现末端向上变盘,Stoch RSI指标再次处于上行趋势,那么目前BTC的区间盘整实为震荡蓄势,洗盘完成后将再度开启新一轮的波段行情。操作上还是以大仓位现货持有,小仓位区间高抛吸低为主。[2019/9/12]
如果交易仅更新一个数据单元,则TPS将更高。如果交易更新许多数据单元,它们将彼此阻塞。我们在Oracle,MSSQL,PostgreSQL和MongoDB,Redis,Tarantool之间看不到任何“TPS竞争”,是因为它们的内部机制和任务相差很大。
分析 | XRP迎来三角变盘 半年来首次突破:今日XRP持续拉升,突破0.4的年内新高,对于接下来XRP的走势,分析师Potter表示,XRP/BTC周线走势看,从19年一月开始XRP/BTC周线向上触碰上升三角上边线遇阻回落,直到昨天一直处于单边下跌走势中,期间跌破前期阶段底部支撑与三角下边线,今天XRP/BTC在最低向下触及关键支撑4000sats后,币价短时迎来大幅度反弹从0.31美元最高涨至0.4美元附近,涨幅超过25%,周线在连续收出10根阴柱后首次迎来阳柱,MACD 0轴下方红柱缩短,周线RSI处于超卖区间并拐头向上,长期看XRP有逐步走强的迹象。XRP/USDT日线走势看,币价今天在下降三角末端放量向上突破,这是从18年9月将近半年来的首次大阳线突破,并沿五日线继续上行,MACD显著增强,DIF上穿DEA 金叉后快速向上发散并贴近0轴,说明近期走势的强势,RSI涨至75显示短期超买,后续若能维持放量,将会进一步拉大上涨空间,沿5日线继续持币即可,短期支撑0.36,强支撑0.32,压力0.45、0.56.[2019/5/14]
从我们的角度来看,“测量区块链TPS”意味着进行全方位的性能测量:
1)在可重复条件下
2)接近真实的区块验证节点数量
3)使用各种类型的交易:-??????研究的区块链典型)-??????加载存储子系统-??????加载网络带宽-??????CPU加载
分析 | 2018年美国用户搜索“如何购买Ripple”的次数高于“如何购买比特币”:据bitcoinexchangeguide消息,去年收集的一项数据显示,美国用户对于“如何购买Ripple”这一短语的搜索次数高于“如何购买比特币”。不过全球范围内,“比特币”词语本身仍然比“ XRP ”或“ Ripple ” 的搜索次数更多。但XRP社区粉丝依旧认为XRP距离成为领先的数字资产并不太远。[2019/4/3]
要谈论我们所珍视的“TPS”,需要描述所有的网络条件、参数和基准测试逻辑。在区块链中,将交易应用到某个内部数据库,并不意味着共识会接受它。
注:在PoW共识中,交易永远不会最终确定。如果一个交易包含在一台机器上的一个区块中,并不意味着它被整个网络接受。
如果区块链具有确保最终性的其他算法,那么处理时间可以视为节点“看到”交易和下一个最终确定的完成区块的时间。这种“TPS”非常有用,但因为它们会低于预期,所以很少见。
“TPS”涉及很多事情。请保持怀疑的态度,并询问一切细节。
一、区块链特有的指标
分析 | 金色盘面:BTC窄幅整理 等待突破:金色盘面综合分析: BTC在6600美元之上窄幅波动,从形态看,走出了一个收敛三角形,目前在6600-6900美元的箱体下部运行。一旦有增量资金入场,将会发起对6900美元的攻击;如果成交量始终无法放大,或是跌破6600美元,预示着多头放弃新箱体的运行,会再次退守6400美元一线。[2018/8/27]
本地TPS
处理交易的数量和
最大/平均/最小处理时间是非常方便测量的,因为执行这些操作的函数通常用代码表示。交易处理时间等于更新状态数据库所需时间。例如,在“乐观”的区块链中,已处理的交易可能已经通过验证,但还未被共识接受。在这种情况下,节点将更新后的数据发送到客户端。
这个指标不是很可靠:如果选择另一个分叉链被选为主链,那么交易数据将会回滚,而测量的统计数据也必须回滚。在测试中,这一点常常被忽略。
“昨天我们的区块链达到了8000tps”。这样的数字经常可以在简短的项目报告中看到,因为它们很容易测量。只需要一个运行节点和一个加载脚本就足够了。在这种情况下,全网达成共识的速度不会因为网络延迟而降低。
注:该指标反应了状态数据库在不受网络影响的情况下的性能。这个数字没有反映真实的网络带宽,而是显示了如果共识和网络足够快,那么它努力能达到的极限在哪。
金色财经独家分析 金融业区块链应用正解决透明性与隐私需求的矛盾:本周三,英国中央银行英格兰银行(Bank of England)发布文件显示,该行正在与区块链创业公司Chain合作开发一种概念验证,研究如何在基于区块链(或分布式账本)的网络上维护隐私,同时仍允许对数据进行监管。金色财经独家分析,从比特币诞生以来,区块链的一大标签就是“匿名性”,而这正是人们的常见误解之一,哈希地址仅仅是一个化名,并非完全找不到,通过算法可以分析出交易簇,进而锁定与现实的联系。因此,用户对于隐私保护的需求,对区块链匿名化的程度提出挑战。又要交易透明,又要保护隐私,二者兼得定会实现重要突破,或对传统金融服务产生颠覆。或许,我们需要在概念上更加明确:更多的人需要区域链让金融在自己面前完全透明,而对外则更好地对隐私“加密”。[2018/4/11]
任何区块链的交易都是几次原子存储写入。例如,一个比特币支付交易涉及移除几个旧的UTXOs和添加新的UTXOs。在以太坊中,一个交易是执行一个小型智能合约代码并更新几个键值对。
原子储存写入是一个非常好的指标,用来查找存储子系统瓶颈和区分底层逻辑问题和内部逻辑问题。
区块链节点可以用几种编程语言实现,这样更加可靠。例如,以太坊节点有Rust和Go实现。在测试网络性能的时候请记住这一点。
本地区块产生的数量
这个简单的指标显示了
某个特定验证节点生产的区块数量。它取决于共识,并且对于评估单个验证节点网络的“有用性”至关重要。
由于验证节点在每个区块上都能赚钱,所以他们会确保他们的机器稳定和安全地运行。你可以确定哪个验证节点候选人是最合格、最受保护的,并且准备好在具有真实用户资产的公共网络中工作。指标度量可以公开检查,只需下载区块链并计算区块数量即可。
最终确定性&最终不可逆转的区块
最终确定性确保了所有包含在区块链中的交易都不会回滚,也不会被另一个分叉链所替换。这是PoS网络防范双花攻击和为用户确认加密货币交易的一种方式。
当存在一个可以最终确定链上包含一个交易的区块时,而不是当这个交易仅仅被节点接受时,用户可以认为这个交易是最终确定状态。要最终确定一个区块,验证者必须在P2P网络中接受该区块,并互相交换签名。真实的区块链速度就在这里被检测,因为交易最终确定的时间点对于用户来说是最重要的。
最终确定性的算法互相之间也有所区别,相交,并由主要共识而结合。
对于并非每个区块都已经最终确定的网络,一个有用的指标是最后最终确定的区块与当前最新区块之间的延迟。在他们同意正确的链的情况下,这个延迟数字表明验证节点落后了多少。如果这个差距很大,那么最终确定性算法需要更多的分析和优化。
P2P层
点对点子系统作为区块链网络的中间层经常被忽略。这要归咎于区块交付和验证节点之间交易的模糊延迟。
当验证节点的数量很少时,他们是本地化的,用户列表是硬编码的,所有的一切都运行正常并且非常快速。但是,验证节点在地理上是分布的,并且模拟丢包情况,我们正面临严重的“TPS”故障。
例如,当使用附加的最终确定性算法测试EOS共识时,将验证节点的数量增加80到100台,分布在四大洲,对最终确定性几乎没有什么影响。
同时,增加的丢包验证严重地影响了最终确定性,这证明需要额外地P2P层配置以更大程度地抵抗网络数据包丢失。不幸的是,存在有许多不同的设置和因素,只有基准测试才能使我们了解所需的验证节点数量,并获得相对舒适的区块链速度。
P2P子系统的配置在文档中很清楚,例如,查看,协议,或者。
重要的P2P指标可以是:
1)入站出站的流量2)链接到用户成功/失败的数量3)返回了之前缓存的数据块的次数,以及进一步转发请求以找到所需块的次数
例如,访问数据时未命中数大,意味着只有少数节点拥有请求的数据,而它们没有时间将这些数据分发给每个节点。接受/发送的P2P流量允许识别处理网络配置或通道问题的节点。
二、区块链节点的系统指标
区块链节点的标准系统指标在大量的源代码中都有描述,因此我们将做简要介绍。它们有助于发现逻辑瓶颈和错误。
CPU
CPU显示处理器执行的计算量。如果CPU负载很高,表示节点正在使用逻辑或FPU积极地进行计算。例如,后一种情况会发生是因为节点正在检查电子签名,使用强密码处理交易或进行复杂的计算。
可以将CPU划分为更多指标,以指出代码瓶颈。例如,系统时间——花费在内核代码上的时间,用户时间——花费在用户进程上的时间,io——等待来自慢速外部设备的I/O,等等。
内存
现代区块链使用键值数据库,这些数据库不断在其内存中存储“热”数据。任何加载的服务都会遭受,由于错误或针对节点代码的攻击,所导致的内存泄露。如果内存消耗正在增加或急剧增加,则很有可能是由于状态数据库密钥数量大,交易队列大,或者不同节点子系统之间的消息量增加所造成的。
内存负载不足表明可能会增加区块数据限制或最大交易复杂性。
响应网络客户端的完整节点依赖于文件缓存指标。当客户端访问状态数据库和交易日志的各个部分时,磁盘中的旧块可能会出现,并替换新块。这反过来又降低了客户端的反应速度。
网络
主要的网络指标是
流量的大小、发送和接受网络数据包的数量、丢包率。这些指标经常被低估,因为区块链还不能以1Gbit/s的速度处理交易。
目前,一些区块链项目允许用户共享WiFi或提供存储和发送文件或消息的服务。测试此类网络时,网络接口流量的数量和质量变得非常重要,因为一个拥挤的网络通道会影响机器上的所有其他服务。
存储
磁盘子系统是所有服务中最慢的组件,常常会导致严重的性能问题。过多的日志记录、意外的备份、不便的读/写模式、大量的区块链总量,所有这些都可能导致节点速度显著下降或者对硬件的过度需求。
使用磁盘的区块链交易日志操作模式类似于使用预写式日志的不同DBMS。从技术上来讲,交易日志可以视为状态数据库的WAL。
因此,这些存储指标非常重要,因为它们可以确定现代键值数据库中的瓶颈。读/写IOPS数,最大/最小/平均延迟和许多其他指标可帮助优化磁盘操作。
结论
综上所述,我们可以把指标分组成:
1)区块链节点指标2)P2P子系统指标3)系统节点指标
每组都很重要,因为可能存在子系统错误,限制了其他组件的操作。即使是少量验证节点的减速也会严重影响整个网络。
在共识算法和最终确定性算法中,最棘手的错误只出现在大型的交易流或共识参数更改时。它们的分析需要可重复的测试条件和复杂的负载场景。
原文:TheKeyMetricstoMeasureBlockchainNetworkPerformance,https://hackernoon.com/how-to-measure-blockchain-network-performance-key-metrics-en1234u4
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。