区块链重要指标探究:如何测算延迟和吞吐量?

ETH中文网發佈於 2022-11-18更新於 2022-11-18

文章摘要

大家鲜少提到如何正确地测量一个(区块链)系统,但它却是系统设计和评估过程中最重要的步骤。系统中有许多共识协议、各种性能的变量和对可扩展性的权衡。

大家鲜少提到如何正确地测量一个(区块链)系统,但它却是系统设计和评估过程中最重要的步骤。系统中有许多共识协议、各种性能的变量和对可扩展性的权衡。

大家鲜少提到如何正确地测量一个(区块链)系统,但它却是系统设计和评估过程中最重要的步骤。系统中有许多共识协议、各种性能的变量和对可扩展性的权衡。

然而,直到目前都没有一种所有人都认同的可靠方法,能够让人进行苹果对比苹果这种同一范畴内的合理比较。在本文,我们将概述受到数据中心化系统测量机制启发的一种方法,并探讨在评估一个区块链系统时可以避免的一些常见错误。

关键指标及其相互作用

在开发区块链系统时,我们应该将两个重要指标考量在内:延迟和吞吐量。

用户关心的第一件事就是交易延迟,即发起交易或支付和收到确认交易有效性信息(比如,确认交易发起方有足够的钱)之间的时间。

在传统的 BFT 系统中(如 PBFT、Terdermint、Tusk 和 Narwhal 等),一旦交易被确认就会被敲定,而最长链共识机制(如 Nakamoto Consensus、Solana/Ethereum PoS)中,一笔交易可能会被打包进区块,然后再重组。结果就是,我们需要一直等到交易达到“k 个区块深”了才能进行敲定,这就导致了延迟的时间大大超过了单次确认的时间。

其次,系统的吞吐量一般对于系统设计者来说十分重要。这就是系统每单位时间所处理的总负载,一般表达为每秒交易量 (TPS)。

乍一看,这两个关键指标看起来是完全相反的东西。但因为吞吐量由每秒的交易量得出,而延迟则是以秒为单位进行测量。自然而然地,我们会认为吞吐量 = 负载/延迟。

但事实并非如此。因为许多系统倾向于生成在 y 轴上展示吞吐量或延迟,而在 x 轴上展示节点数量的图表,所以这种计算方式的实现是不可能的。相反,我们能生成一个更好的、包含吞吐量/延迟指标的图表,它以非线性的方式呈现让图表清晰易读。

当没有竞争时,延迟是恒定的,仅是改变系统的负载,就可以改变吞吐量。会发生这种情况,是因为低竞争情况下,发送交易的最小开销是固定的,且队列延迟为 0,致使“无论进来什么,都能直接出去”。

在竞争激烈的情况下,吞吐量是恒定的,但仅是改变负载就可以让延迟发生变化。

这是因为系统已经超负载了,而增加更多负载会造成等待队列无限变长。更反常的是,延迟似乎会随着实验长度而发生变化,这是一个无限增长队列的人为结果。

这些表现都可以在典型的“曲棍球图”或“L型图”上看到,它取决于到达间隔的分布(下文会谈论到)。因此,这篇文章的关键要点是,我们应该在热区进行测量,这里的吞吐量和延迟都会影响我们的基准;而不用测量边缘区域,这里的吞吐量和延迟只有一个是重要的。

测量方法论

在做实验时,实验者有三种主要的设计选项:

开环 vs. 闭环

现在有两种可以控制对目标发出请求流的主要方法。开环系统基于 n = ∞ 个客户端进行建模,这些客户端根据速率 λ 和到达间隔分布(例如 Poisson)向目标发送请求。闭环系统会在任何给定时间内限制未完成请求的数量。开环系统和闭环系统的区别是特定部署的特点,同一个系统可以部署在不同的场景中。

例如,一个键值存储(key-value store)可以在一个开环部署中为数千个应用程序服务器提供服务,或在一个闭环部署中只为几个阻塞客户端提供服务。

对正确的部署场景进行测试是必不可少的,因为比起闭环系统的延迟通常受制于潜在的未完成请求数量,而开环系统可能会产生大量的等待队列,所以,延迟会更长。一般来说,区块链协议可以被任意数量的客户端使用,所以在开环环境下对其做评估会更准确。

综合基准测试的到达间隔分布

在创建合成工作负载时,我们必然会问:如何向系统提交请求?许多系统在测量之前会先预加载事务,但这会使测量产生偏差,因为系统从异常状态 0 开始运行。此外,预加载的请求已经在主存储器中,也因此绕过了其网络堆栈。

更好一些的方法则是以确定的速率发送请求(比如,1000 TPS),这会导致 L 型的图表(橙线)的出现,因为系统的容量得到了最佳使用。

然而,开放系统往往不以可预测的方式运作。相反,它们有处于高负载和低负载的时间段。为了对此进行建模,我们可以采用概率间隔分布,该分布一般是基于泊松分布。它将导致“曲棍球”图表(蓝线),因为即使平均速率低于最佳值,泊松爆发也会导致一些排队延迟(最大容量)。但这对我们十分有利,因为我们可以看到系统如何处理高负载以及负载恢复正常时,系统恢复的速度有多快。

热身阶段

最后要考虑的一点是何时开始测量。我们希望流水线在开始之前充满事务;否则,将需要测量预热延迟。理想情况下,预热延迟的测量应该通过热身阶段中的延迟测量来完成,直到测量结果遵循预期的分布。

如何进行比较

最后一个难题是合理比较系统的各种部署。同样,难点在于延迟和吞吐量是相互依赖的,因此我们可能难以生成公平的吞吐量/节点数图表。

最好的方法是定义服务级别目标(SLO) 并测量当时的吞吐量,而不是简单地将每个系统推到其最高吞吐量(这种情况下,延迟毫无意义)。在吞吐量/延迟图上绘制一条与延迟轴相交 SLO 处的水平线并对相交点进行采样,这是一种可视化的好方法。

但我设置了 5 秒的 SLO,它只需要 2 秒

有人可能想要增加这里的负载,以便利用饱和点之后稍高的可用吞吐量。但是这很危险。如果系统操作配置不足,意外的请求爆发将导致系统达到完全饱和,致使延迟激增且很快会违背 SLO。实质上,在饱和点之后运行会导致一种不稳定的平衡。

因此,有两点需要考虑:

过度配置系统。本质上,系统应该在饱和点以下运行,以便吸收到达间隔分布中的爆发,而不会导致排队延迟增加。

如果 SLO 下方有空间,请增加 batch 的大小。这会增加系统关键路径上的负载,而不会增多排队延迟,它为你提供更高的吞吐量以获得你所要的更高延迟权衡。

我正在产生巨大的负载,该如何测量延迟呢?

当系统的负载很高时,尝试访问本地时钟,并为到达系统的每个事务添加时间戳可能会导致结果出现偏差。

相反,还有两个更可行的选择。第一种也是最简单的方法是对事务进行抽样;例如,在某些事务中可能存在一个魔数(magic number),而这些事务是客户端为其保留计时器的事务。在提交时间之后,任何人都可以检查区块链以确定这些事务何时提交,从而计算它们的延迟。这种做法的主要优点是,它不会干扰到达间隔分布。但是,因为必须修改某些事务,所以它可能被认为是“hacky(具有攻击性质的)”。

而更系统的方法则是使用两个负载生成器。第一个是主要的负载生成器,由它来遵循泊松分布。第二个请求生成器则用来测量延迟,并且它的负载会低得多;与系统的其余部分相比,可以将这个请求生成器视为单个客户端。即使系统向每个请求发送回复(就像某些系统所做的那样,例如 一个键值存储),我们也可以轻松地将所有回复放到负载生成器中,并只测量来自请求生成器的延迟。

唯一棘手的部分是,实际的到达间隔分布是两个随机变量的总和;但是,两个泊松分布的总和仍然是泊松分布,所以数学并不难 : )。

总结

测量大规模分布式系统对于识别瓶颈和分析压力下的预期行为是至关重要的。希望通过使用上述方法,我们都可以朝着公用语言迈出第一步,这最终将让区块链系统更适用于他们所做的工作以及他们对终端用户的承诺。

在未来的工作中,我们计划将此方法应用于现有的共识机制中,如果有兴趣,请在 Twitter 上联系!

你可能也喜歡

交易

現貨
合約

熱門文章

什麼是 SOLANA

HarryPotterWifHatMyroWynn10Inu,$solana: 一窺這個潮流迷因幣項目 介紹 在不斷演變的加密貨幣世界中,創新的項目層出不窮,吸引著投資者和愛好者的想像。其中一個項目是 HarryPotterWifHatMyroWynn10Inu,$solana,一個已經開始在加密社區中佔有一席之地的迷因幣。本文章旨在為您提供有關該項目的全面概述,闡明其目的、架構、創建者、投資者以及在發展過程中的重要里程碑。 什麼是 HarryPotterWifHatMyroWynn10Inu,$solana? 概述 HarryPotterWifHatMyroWynn10Inu,$solana 是一個基於 Solana 區塊鏈的迷因幣項目—這是一個以其擴展性和速度而著稱的平台。該項目旨在為加密空間帶來快樂和創意,不僅作為交易代幣,還作為生成和分享迷因內容的催化劑。其核心的社區受到鼓勵參與,提供一個動態生態系統,在這裡創造力和協作得以蓬勃發展。 目標和宗旨 該項目的本質是培養一個讓迷因愛好者聚集、分享和創作新穎迷因內容的環境。這種以敘事為驅動的方式在社區中注入了興奮感,推動了參與,同時展示了 Solana 區塊鏈內在的強大功能。通過建立一個以社區為中心的項目,HarryPotterWifHatMyroWynn10Inu,$solana 亦希望探討數字貨幣作為表達手段的社會影響。 HarryPotterWifHatMyroWynn10Inu,$solana 的創建者是誰? HarryPotterWifHatMyroWynn10Inu,$solana 的創建者身份仍然神秘莫測。該項目的結構是以放棄所有權的方式設計的,因此它作為一個由社區主導的倡議蓬勃發展。這種去中心化促進了所有利益相關者之間的透明性和民主參與。在迷因幣的世界中,這種方法越來越受歡迎,因為社區參與是至高無上的。 HarryPotterWifHatMyroWynn10Inu,$solana 的投資者是誰? 截至目前,沒有公開可得的關於支持 HarryPotterWifHatMyroWynn10Inu,$solana 的具體投資者或基金會的信息。知名投資者的缺席進一步強調了該項目的以社區為導向的精神,它獨立於傳統金融框架。這種獨立性使項目能夠在沒有外部壓力的情況下發展其身份,而是依賴於用戶基礎的集體興趣。 HarryPotterWifHatMyroWynn10Inu,$solana 如何運作? 經濟模型 該項目采用了一種獨特的經濟模型,支撐其功能性和用戶參與。HarryPotterWifHatMyroWynn10Inu,$solana 內部的交易旨在對所有參與方都有益。每一筆交易都會收取費用,這些費用隨後會在現有持有者中重新分配,同時增強流動性池。 這一模型的關鍵組成部分包括: 反射機制:交易費用的一部分會返回給持有者,促進對代幣的長期投資。 流動性池獲取:資金被分配以增強流動性,確保買賣操作可以順利執行。 燒毀機制:部分代幣可能會被燒毀以創造稀缺性,隨著需求的上升可能會增加價值。 這種設計鼓勵了一個自我維持的生態系統,在這裡社區互動和投資得以繁榮。 社區參與 HarryPotterWifHatMyroWynn10Inu,$solana 的核心價值在於社區參與。通過使用戶能夠通過創作迷因和促銷等各種活動參與項目的發展,該項目培育了一個充滿活力的生態系統,讓創造力得以蓬勃發展。 HarryPotterWifHatMyroWynn10Inu,$solana 的時間軸 HarryPotterWifHatMyroWynn10Inu,$solana 的發展軌跡上有多個值得注意的事件,塑造了它在加密社區中的當前地位: 創建:具體的創建日期仍未披露,但該項目的起源植根於貫穿數位時代的迷因文化之中。 社區接管:在創建者放棄所有權後,該項目過渡為由社區主導的模式,讓所有參與者都有份於它的成功。 審計和 NFT 收藏:為了增強可信度,該項目完成了一次徹底的審計,同時推出了一個 NFT 收藏,體現其以迷因為中心的精神。 夥伴關係和發展:該項目目前正在尋找潛在的夥伴關係,並組織基於其傳奇迷因的獨特網站和商品選項的發展。 要點 總結而言,HarryPotterWifHatMyroWynn10Inu,$solana 在加密貨幣的迷因幣領域中是一個值得注意的參與者。以下是一些關鍵要點: 社區主導的倡議:該項目作為一項合作努力蓬勃發展,鼓勵社區成員積極貢獻,同時與所有權聲索分離。 創新的經濟模型:利用反射、流動性獲取和燒毀機制,為用戶創建一個強大而引人入勝的財務環境。 NFT 和商品參與:通過推出 NFT 收藏,該項目旨在深化社區參與,強化迷因文化與數字貨幣之間的聯繫。 探索夥伴關係:該倡議並非靜止不前—持續的發展和潛在的夥伴關係表明了一種面向未來的增長取向。 結論 隨著 HarryPotterWifHatMyroWynn10Inu,$solana 在加密貨幣領域中不斷擴展,其獨特的社區參與、創新經濟結構以及迷因文化的融合勾勒出其未來的潛在路徑。即使其起源和投資者關係仍帶有神秘色彩,該項目卻講述了一個富有魅力的故事,體現去中心化創新的本質。在一個加密貨幣往往被視為純金融視角的世界中,HarryPotterWifHatMyroWynn10Inu,$solana 展示了加密運動融合了創造力、社區和合作的特性。無論您是經驗豐富的投資者還是新手,這個迷因幣項目的發展過程無疑是一個值得關注的迷人案例。

630 人學過發佈於 2024.04.04更新於 2024.12.03

什麼是 SOLANA

什麼是 SOLANA 2.0

BarbieCrashBandicootRFK777Inu, $SOLANA 2.0:加密貨幣界的新玩家 BarbieCrashBandicootRFK777Inu, $SOLANA 2.0 介紹 在不斷演變的加密貨幣市場中,新興項目不斷吸引著投資者和愛好者的注意。在這些新興項目中,有一個名為BarbieCrashBandicootRFK777Inu,以加密貨幣符號$SOLANA 2.0代表。這個獨特的計劃結合了魅力、冒險和迷因文化的元素,旨在在高度競爭的領域中挑戰預期。這個項目抱有增長和創新的願景,捕捉到一種努力對抗已建立的巨頭的精神。 BarbieCrashBandicootRFK777Inu, $SOLANA 2.0 是什麼? 在其核心,BarbieCrashBandicootRFK777Inu是一個受到多種標誌性文化參考啟發的加密貨幣項目。它包括與Barbie相關的優雅和魅力,Crash Bandicoot的動感能量,以及RFK所代表的堅韌驅動,該項目的目標是在加密貨幣的世界中提供多面化的體驗。 BarbieCrashBandicootRFK777Inu項目的主要目標是將這些不同的元素融合成一個吸引廣泛受眾的凝聚生態系統。通過擁抱迷因文化的奇想,同時堅守去中心化和財務賦權的原則,該項目已定位為對於成熟投資者和加密世界的新手都具有吸引力的選擇。 BarbieCrashBandicootRFK777Inu, $SOLANA 2.0 的創造者是誰? 儘管對BarbieCrashBandicootRFK777Inu的關注不斷增長,關於其創造者的信息仍然 largely未知。創始人或開發團隊的匿名性引發了對項目結構和治理的疑問。在加密貨幣的世界中,項目沒有公開創始人是很常見的。這一缺乏信息可能會使某些潛在投資者卻步,而其他人則可能將其視為擁抱許多加密貨幣項目所基礎的去中心化精神的機會。 BarbieCrashBandicootRFK777Inu, $SOLANA 2.0 的投資者是誰? 目前,關於支持BarbieCrashBandicootRFK777Inu的投資基金或機構的信息相對較少。項目缺乏詳細的投資支持突顯了許多加密貨幣的獨立性。在這種情況下,項目的資金是否來自基層社群的支持或更大金融實體的支持,仍有待觀察。 BarbieCrashBandicootRFK777Inu, $SOLANA 2.0 如何運作? BarbieCrashBandicootRFK777Inu設計了多項功能,使其在擁擠的加密空間中獨具一格。雖然具體的技術細節仍然保密,但該項目預計將融入旨在增強用戶參與度和促進社區增長的功能。從時尚和冒險到遊戲的多樣影響力的結合,促進了一種迎合多樣興趣的包容氛圍。 此外,該項目與$SOLANA 2.0生態系統的聯繫暗示著潛在的技術優勢。這可能包括創新的交易速度、可擴展性和成本效益,與Solana區塊鏈的技術能力相一致。項目的創始人似乎正在依靠這一技術基礎,以創建持久的社區體驗和實質性的產品供應。 BarbieCrashBandicootRFK777Inu, $SOLANA 2.0 的時間表 BarbieCrashBandicootRFK777Inu的旅程包含幾個關鍵里程碑,提供了該項目迄今為止的發展見解: 項目概念化:最初的想法圍繞著魅力、冒險和迷因文化的融合,為項目的獨特概念提供了框架。 代幣創建:象徵性的$SOLANA 2.0代幣建立,旨在體現項目的願景並吸引潛在投資者的興趣。 項目開發:目前,該項目正進行進一步開發,重點是挑戰加密空間中的現有玩家並提供創新的產品。 這些里程碑反映了項目的增長軌跡,同時突顯了其致力於開發一個開創性的加密貨幣體驗的承諾。 關於BarbieCrashBandicootRFK777Inu, $SOLANA 2.0 的要點 獨特概念:BarbieCrashBandicootRFK777Inu通過將魅力、冒險和迷因文化的元素融合到一個加密貨幣項目中而脫穎而出。 弱者精神:該項目擁抱弱者的角色,旨在挑戰現有的加密貨幣項目並在行業中開闢一塊市場。 開發階段:正在進行積極的開發工作,旨在提供符合社區和投資者期望的新鮮和創新的產品。 結論 BarbieCrashBandicootRFK777Inu,以符號$SOLANA 2.0呈現,是加密貨幣市場中一個引人入勝的新進者。其獨特的文化參考混合和雄心勃勃的願景,可能引起尋求在加密領域尋找替代項目價值的人的共鳴。 雖然創始人和投資者的未知狀態可能會引發疑問,但該項目對魅力和冒險的重視展現了擴展加密貨幣可能體現的界限的迷人敘事。隨著項目的持續發展,觀察其在更廣泛的加密市場中的演變及其如何在競爭對手中定位自己,將會非常有趣。對於那些參與者來說,BarbieCrashBandicootRFK777Inu可能會解鎖重新定義與數字資產互動的驚喜體驗。 目前,隨著項目的推進,其旅程提醒著我們,加密空間的創新沒有界限,提供了一切從興奮和娛樂到財務賦權的潛力。

134 人學過發佈於 2024.04.05更新於 2024.12.03

什麼是 SOLANA 2.0

如何購買SOL

歡迎來到HTX.com!在這裡,購買Solana (SOL)變得簡單而便捷。跟隨我們的逐步指南,放心開始您的加密貨幣之旅。第一步:創建您的HTX帳戶使用您的 Email、手機號碼在HTX註冊一個免費帳戶。體驗無憂的註冊過程並解鎖所有平台功能。立即註冊第二步:前往買幣頁面,選擇您的支付方式信用卡/金融卡購買:使用您的Visa或Mastercard即時購買Solana (SOL)。餘額購買:使用您HTX帳戶餘額中的資金進行無縫交易。第三方購買:探索諸如Google Pay或Apple Pay等流行支付方式以增加便利性。C2C購買:在HTX平台上直接與其他用戶交易。HTX 場外交易 (OTC) 購買:為大量交易者提供個性化服務和競爭性匯率。第三步:存儲您的Solana (SOL)購買Solana (SOL)後,將其存儲在您的HTX帳戶中。您也可以透過區塊鏈轉帳將其發送到其他地址或者用於交易其他加密貨幣。第四步:交易Solana (SOL)在HTX的現貨市場輕鬆交易Solana (SOL)。前往您的帳戶,選擇交易對,執行交易,並即時監控。HTX為初學者和經驗豐富的交易者提供了友好的用戶體驗。

1.9k 人學過發佈於 2024.12.12更新於 2025.03.21

如何購買SOL

相關討論

歡迎來到 HTX 社群。在這裡,您可以了解最新的平台發展動態並獲得專業的市場意見。 以下是用戶對 SOL (SOL)幣價的意見。

活动图片