来源|?paradigm.xyz
作者|?LefterisKokoris-Kogias
大家鲜少提到如何正确地测量一个系统,但它却是系统设计和评估过程中最重要的步骤。系统中有许多共识协议、各种性能的变量和对可扩展性的权衡。
然而,直到目前都没有一种所有人都认同的可靠方法,能够让人进行苹果对比苹果这种同一范畴内的合理比较。在本文,我们将概述受到数据中心化系统测量机制启发的一种方法,并探讨在评估一个区块链系统时可以避免的一些常见错误。
关键指标及其相互作用
在开发区块链系统时,我们应该将两个重要指标考量在内:延迟和吞吐量。
用户关心的第一件事就是交易延迟,即发起交易或支付和收到确认交易有效性信息之间的时间。
在传统的BFT系统中,一旦交易被确认就会被敲定,而最长链共识机制中,一笔交易可能会被打包进区块,然后再重组。结果就是,我们需要一直等到交易达到“k个区块深”了才能进行敲定,这就导致了延迟的时间大大超过了单次确认的时间。
动态 | 巴西要求新外交官了解区块链和加密货币:据cointelegraph报道,巴西外交学院里约布兰科研究所现在要求外交官候选人了解加密货币和区块链。据悉,该研究所为外交官提供两个升读课程,其2019年挑选新外交官的布告中包括要求候选人了解区块链和数字货币。[2019/7/9]
其次,系统的吞吐量一般对于系统设计者来说十分重要。这就是系统每单位时间所处理的总负载,一般表达为每秒交易量(TPS)。
乍一看,这两个关键指标看起来是完全相反的东西。但因为吞吐量由每秒的交易量得出,而延迟则是以秒为单位进行测量。自然而然地,我们会认为吞吐量=负载/延迟。
但事实并非如此。因为许多系统倾向于生成在y轴上展示吞吐量或延迟,而在x轴上展示节点数量的图表,所以这种计算方式的实现是不可能的。相反,我们能生成一个更好的、包含吞吐量/延迟指标的图表,它以非线性的方式呈现让图表清晰易读。
现场 | 苏潇:应将大众了解区块链门槛降到最低:金色财经现场报道,今日西安举办的“首届区块链嘉年华”活动上,哈希屋创始人苏潇谈到,目前区块链行业发展不平衡,除了技术和应用落地的挑战得到普遍关注外,正确的科普和引导也非常缺乏。因此,普及传播区块链知识、历史、文化、技术应当成为从业者的使命,把大众接受、了解区块链知识的门槛降到最低。[2018/8/25]
当没有竞争时,延迟是恒定的,仅是改变系统的负载,就可以改变吞吐量。会发生这种情况,是因为低竞争情况下,发送交易的最小开销是固定的,且队列延迟为0,致使“无论进来什么,都能直接出去”。
在竞争激烈的情况下,吞吐量是恒定的,但仅是改变负载就可以让延迟发生变化。
这是因为系统已经超负载了,而增加更多负载会造成等待队列无限变长。更反常的是,延迟似乎会随着实验长度而发生变化,这是一个无限增长队列的人为结果。
这些表现都可以在典型的“曲棍球图”或“L型图”上看到,它取决于到达间隔的分布。因此,这篇文章的关键要点是,我们应该在热区进行测量,这里的吞吐量和延迟都会影响我们的基准;而不用测量边缘区域,这里的吞吐量和延迟只有一个是重要的。
中钞区块链技术研究院“Pick你的画” 助快速通俗了解区块链:6月1日,中钞区块链技术研究院推出一款区块链小程序——Pick你的画。这款小程序可将图片上传至区块链进行登记,固化上传人、时间和图片DNA,永久留存、不可篡改。据悉,小程序的背后使用的是中钞区块链技术研究院自主研发的络谱区块链登记开放平台,该平台可以登记数字身份、数字凭证,证明身份、时间、数据、凭证的关系,增进可信协作。目前,已经有100多家单位申请接入测试。“Pick你的画”属于对数据进行登记,算是一款最简单的区块链应用示例。他们表示,希望通过这一款小程序帮助大家快速而通俗的理解区块链知识和机理。[2018/6/1]
测量方法论
在做实验时,实验者有三种主要的设计选项:
金色财经现场报道 复旦区块链协会主席楚维:真正了解区块链项目比较困难:金色财经现场报道,在2018东京纷智峰会上,进行以《数字身份和数字资产网络3.0时代》为主题的圆桌,楚维指出:加密货币交易所面临很多机会,但也有很多挑战。首先是缺乏一定的用户教育,解决这个问题的最好方法就是组织见面会。通过这样的方式,每个项目都可以教育投资者和用户。传统的交易所做的好是因为他们对于企业十分了解,但现在交易所要想真正了解项目是很难的。当前的区块链技术是很重要的产业,各个社群之间应该是彼此合作,而不是对抗。如果交易所能推出更为稳定的代币进行交易,那么可以吸引更多用户使用加密货币,这也是未来发展方向。[2018/5/22]
开环vs.闭环
现在有两种可以控制对目标发出请求流的主要方法。开环系统基于n=∞个客户端进行建模,这些客户端根据速率λ和到达间隔分布向目标发送请求。闭环系统会在任何给定时间内限制未完成请求的数量。开环系统和闭环系统的区别是特定部署的特点,同一个系统可以部署在不同的场景中。
例如,一个键值存储可以在一个开环部署中为数千个应用程序服务器提供服务,或在一个闭环部署中只为几个阻塞客户端提供服务。
金色财经现场报道 Omer Ozden:项目团队要了解区块链文化 :金色财经现场报道,在世界区块链大会·三点钟峰会“古典投资人的冷思考”圆桌讨论中,石木资本董事长,真格基金海外投资首席顾问,优客工场联合创始人Omer Ozden说,在上世纪90年代末的硅谷,15页的PPT就可以得到VC1500万美金,现在区块链发展的速度快过互联网速度2-3倍,上市也更快;当判断区块链项目价值时,要考虑其团队是否了解区块链文化,可靠的团队将TOKEN广泛用于市场流通而不是自己占有,构建区块链生态。[2018/4/24]
对正确的部署场景进行测试是必不可少的,因为比起闭环系统的延迟通常受制于潜在的未完成请求数量,而开环系统可能会产生大量的等待队列,所以,延迟会更长。一般来说,区块链协议可以被任意数量的客户端使用,所以在开环环境下对其做评估会更准确。
综合基准测试的到达间隔分布
在创建合成工作负载时,我们必然会问:如何向系统提交请求?许多系统在测量之前会先预加载事务,但这会使测量产生偏差,因为系统从异常状态0开始运行。此外,预加载的请求已经在主存储器中,也因此绕过了其网络堆栈。
更好一些的方法则是以确定的速率发送请求,这会导致L型的图表的出现,因为系统的容量得到了最佳使用。
然而,开放系统往往不以可预测的方式运作。相反,它们有处于高负载和低负载的时间段。为了对此进行建模,我们可以采用概率间隔分布,该分布一般是基于泊松分布。它将导致“曲棍球”图表,因为即使平均速率低于最佳值,泊松爆发也会导致一些排队延迟。但这对我们十分有利,因为我们可以看到系统如何处理高负载以及负载恢复正常时,系统恢复的速度有多快。
热身阶段
最后要考虑的一点是何时开始测量。我们希望流水线在开始之前充满事务;否则,将需要测量预热延迟。理想情况下,预热延迟的测量应该通过热身阶段中的延迟测量来完成,直到测量结果遵循预期的分布。
如何进行比较
最后一个难题是合理比较系统的各种部署。同样,难点在于延迟和吞吐量是相互依赖的,因此我们可能难以生成公平的吞吐量/节点数图表。
最好的方法是定义服务级别目标?(SLO)并测量当时的吞吐量,而不是简单地将每个系统推到其最高吞吐量。在吞吐量/延迟图上绘制一条与延迟轴相交SLO处的水平线并对相交点进行采样,这是一种可视化的好方法。
但我设置了5秒的SLO,它只需要2秒
有人可能想要增加这里的负载,以便利用饱和点之后稍高的可用吞吐量。但是这很危险。如果系统操作配置不足,意外的请求爆发将导致系统达到完全饱和,致使延迟激增且很快会违背SLO。实质上,在饱和点之后运行会导致一种不稳定的平衡。
因此,有两点需要考虑:
过度配置系统。本质上,系统应该在饱和点以下运行,以便吸收到达间隔分布中的爆发,而不会导致排队延迟增加。
如果SLO下方有空间,请增加batch的大小。这会增加系统关键路径上的负载,而不会增多排队延迟,它为你提供更高的吞吐量以获得你所要的更高延迟权衡。
我正在产生巨大的负载,该如何测量延迟呢?
当系统的负载很高时,尝试访问本地时钟,并为到达系统的每个事务添加时间戳可能会导致结果出现偏差。
相反,还有两个更可行的选择。第一种也是最简单的方法是对事务进行抽样;例如,在某些事务中可能存在一个魔数,而这些事务是客户端为其保留计时器的事务。在提交时间之后,任何人都可以检查区块链以确定这些事务何时提交,从而计算它们的延迟。这种做法的主要优点是,它不会干扰到达间隔分布。但是,因为必须修改某些事务,所以它可能被认为是“hacky”。
而更系统的方法则是使用两个负载生成器。第一个是主要的负载生成器,由它来遵循泊松分布。第二个请求生成器则用来测量延迟,并且它的负载会低得多;与系统的其余部分相比,可以将这个请求生成器视为单个客户端。即使系统向每个请求发送回复,我们也可以轻松地将所有回复放到负载生成器中,并只测量来自请求生成器的延迟。
唯一棘手的部分是,实际的到达间隔分布是两个随机变量的总和;但是,两个泊松分布的总和仍然是泊松分布,所以数学并不难:)。
总结
测量大规模分布式系统对于识别瓶颈和分析压力下的预期行为是至关重要的。希望通过使用上述方法,我们都可以朝着公用语言迈出第一步,这最终将让区块链系统更适用于他们所做的工作以及他们对终端用户的承诺。
标签:区块链加密货币PICKPIC有人靠区块链4天就挣了30万加密货币交易所Universal Picklebitopic
头条 ▌Ankr遭黑客攻击后,一地址借助漏洞用10BNB换得超1500万BUSD12月2日消息,Web3基础设施提供商Ankr被黑客攻击后,10万亿枚aBNBc代币被增发,一用户抵押用10BNB换得超过18万枚aBNBc.
1900/1/1 0:00:00DeFi数据 1、DeFi代币总市值:378.46亿美元 DeFi总市值及前十代币数据来源:coingecko2、过去24小时去中心化交易所的交易量39.57亿美元 金色财经挖矿数据播报 | ETH今日全网算力上涨0.
1900/1/1 0:00:00GenesisGlobalTrading临时首席执行官DerarIslim周三在电话会议上告诉客户,其贷款部门在FTX崩溃后暂时暂停赎回和新贷款发放.
1900/1/1 0:00:00文/StarkWare,译/金色财经xiaozou 摘要 StarkWare根据客户优先事项的不同,提供了一系列数据可用性模式供客户选择.
1900/1/1 0:00:00原文作者:domothy,由DeFi之道翻译编辑。每一条技术路线,都将会在“世界计算机”处交汇。注:本文档旨在作为以太坊路线图上各个项目的入口点,为那些想要深入研究的人提供快速的摘要以及链接.
1900/1/1 0:00:00撰文:liam.eth 编译: 以太坊核心开发者将于本周四召开电话会议,讨论是否将EIP-4844纳入考虑范围。对于很多致力于将该EIP投入生产的团队来说,这是一个重要的时刻!以下是我认为应该将EIP-4844纳入考虑范围的原因.
1900/1/1 0:00:00