日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導讀] 當一切正常時,您通常不會擔心區(qū)塊鏈測試。我們將在下面解釋為什么最好不要擱置性能評估,使用什么度量標準并充分利用它才是最好的。就讓我們一探究竟吧。 “每秒交易數(shù)”( TPS)

當一切正常時,您通常不會擔心區(qū)塊鏈測試。我們將在下面解釋為什么最好不要擱置性能評估,使用什么度量標準并充分利用它才是最好的。就讓我們一探究竟吧。

“每秒交易數(shù)”( TPS)

在分布式系統(tǒng)中,TPS是一個非常模糊和反復無常的度量。

TPS測量來自分布式數(shù)據(jù)庫。它們通常使用標準化的交易類型或集合(例如,一些插入、更新、刪除以及常量選擇數(shù))來執(zhí)行,并針對特定的集群或單獨的機器進行配置。這樣的“綜合”指標并不能反映出所討論的數(shù)據(jù)庫或區(qū)塊鏈的實際性能,因為在這樣的系統(tǒng)中,交易處理時間可能會有所不同。

面向共識性的數(shù)據(jù)庫(請參閱“CAP-theorem”)在從其他節(jié)點接收到足夠數(shù)量的確認之前不會提交交易——這是很慢的。

面向可用性的數(shù)據(jù)庫時,如果交易被簡單地寫入磁盤,那么它就是成功的。他們立即提供更新的數(shù)據(jù)——這是非??斓模ūM管這個交易可能在將來回滾)。如果交易只更新一個數(shù)據(jù)單元,則TPS將更高。如果交易更新許多數(shù)據(jù)單元(行、索引、文件),它們將彼此阻塞。

這就是為什么我們在Oracle、MSSQL、PostgreSQL和MongoDB、Redis、Tarantool之間看不到任何“TPS競爭”的原因——它們的內(nèi)部機制和任務差別很大。

在我們看來,“測量區(qū)塊鏈TPS”是指進行全面的性能測量:

a)在可重復的條件下

b)具有接近實際的塊驗證器數(shù)量

c)使用不同類型的交易:

-研究區(qū)塊鏈的典型情況(例如,主要加密貨幣的transfer ())

-加載存儲子系統(tǒng)(每個交易都有相當大的變化)

-加載網(wǎng)絡帶寬(大交易大小)

- cpu加載(大規(guī)模密碼轉換或計算)

要討論我們所珍視的“每秒交易數(shù)”,您需要描述所有網(wǎng)絡條件、參數(shù)和基準測試邏輯。在區(qū)塊鏈中,將交易應用到某個內(nèi)部數(shù)據(jù)庫并不意味著共識會接受它。

在PoW共識中,交易永遠不會最終確定。如果一個交易包含在一臺機器上的一個塊中,這并不意味著它將被整個網(wǎng)絡接受(例如,另一個分叉獲勝的情況)。

如果區(qū)塊鏈有一個額外的算法來確保終結性(如EOS、Ethereum 2.0、Polkadot parachains使用與祖父終結性一共識的方式),那么處理時間可以視為節(jié)點看到交易和下一個完成塊的時間。這樣的TPS是非常有用的,但是因為它們比預期的要低,所以很少見。

TPS涉及到很多東西。保持懷疑,詢問細節(jié)。

Blockchain-specific指標

本地TPS

處理交易的數(shù)量和最大/平均/分鐘處理時間(在本地節(jié)點上)是非常方便測量的,因為執(zhí)行這些操作的函數(shù)通常用代碼表示。交易處理時間等于更新狀態(tài)數(shù)據(jù)庫所需的時間。例如,在“樂觀”區(qū)塊鏈中,已處理的交易可能已經(jīng)經(jīng)過驗證,但還沒有被一致接受。在這種情況下,節(jié)點將更新后的數(shù)據(jù)發(fā)送到客戶機(假設不會有任何鏈分叉。

這個度量不是很可靠:如果選擇另一個鏈分支作為主分支,那么關于交易的統(tǒng)計數(shù)據(jù)也必須回滾。在測試中,這一點常常被忽略。

“我們的區(qū)塊鏈昨天收到了8000個tps”。這些數(shù)字通??梢栽诤喍痰捻椖繄蟾嬷姓业?,因為它們很容易測量。只需一個運行節(jié)點和一個加載腳本就足夠了。在這種情況下,沒有網(wǎng)絡延遲會降低達成網(wǎng)絡共識的速度。

該指標反映了狀態(tài)數(shù)據(jù)庫在不受網(wǎng)絡影響的情況下的性能。這個數(shù)字并沒有反映真實的網(wǎng)絡帶寬,但是顯示了如果共識和網(wǎng)絡足夠快,它將努力達到的極限。任何區(qū)塊鏈交易的結果都是多個原子存儲寫。例如,一個比特幣支付交易涉及刪除幾個舊的UTXOs(刪除)和添加新的UTXOs(插入)。在以太坊中,執(zhí)行一個小型智能合約代碼并更新幾個鍵-值對。

原子存儲寫是發(fā)現(xiàn)存儲子系統(tǒng)瓶頸和區(qū)分低級邏輯問題和內(nèi)部邏輯問題的優(yōu)秀指標。

區(qū)塊鏈節(jié)點可以用幾種編程語言實現(xiàn)——這更可靠。例如,以太坊節(jié)點有Rust和Go實現(xiàn)。在測試網(wǎng)絡性能時請記住這一點。

本地生產(chǎn)的區(qū)塊數(shù)量

這個簡單的指標顯示了某個驗證器生成的塊的數(shù)量。它依賴于共識,并且對于評估單個驗證者網(wǎng)絡的“有用性”至關重要。

因為驗證器在每個塊上都能賺錢,所以它們負責機器的穩(wěn)定運行和安全。您可以確定哪個驗證器候選是最合格的、受保護的,并且準備好在具有真實用戶資產(chǎn)的公共網(wǎng)絡中工作。公制值可以公開檢查—只需下載區(qū)塊鏈并計算塊的數(shù)量。

最后結尾и不可逆轉的塊

終局性確保在區(qū)塊鏈中包含的所有交易都不會回滾,也不會被另一個鏈分叉替換。這是PoS網(wǎng)絡防止雙重消費攻擊和為用戶確認加密貨幣交易的一種方式。

當有一個塊完成包含該交易的鏈時,而不是當某個交易被節(jié)點接受時,用戶認為該交易是最后塊。要完成一個塊,驗證器必須在p2p網(wǎng)絡中接收這個塊并相互交換簽名。這里檢查區(qū)塊鏈的實際速度,因為交易完成的時刻對用戶來說是最重要的。

終結性算法也不同,它會相交并結合主要共識(閱讀:Casper在Ethereum,最后不可逆塊在EOS,外公在奇偶Polkadot和他們的修改,例如,MixBytes RANDPA)。

對于沒有完成所有塊的網(wǎng)絡,一個有用的度量是在最后完成的塊和當前最新的塊之間的延遲。這個數(shù)字顯示了驗證器落后了多少,這與正確的鏈一致。如果差距很大,那么最終性算法需要額外的分析和優(yōu)化。

P2P層

點對點子系統(tǒng)——區(qū)塊鏈網(wǎng)絡的中間層——經(jīng)常被忽略。這都要歸咎于塊交付和驗證器之間交易的模糊延遲。

當確認器的數(shù)量很少的時候,它們是本地化的,對等列表是硬編碼的,一切都工作得很好而且很快。但是,就像驗證器存在一樣,節(jié)點在地理上是分布的,丟失的數(shù)據(jù)是模擬的,我們正面臨嚴重的“tps”故障。

例如,當使用附加的終結性算法測試EOS共識性時,將驗證器的數(shù)量增加到80-100臺,分布在四大洲,對終結性幾乎沒有影響。與此同時,增加的包丟失嚴重影響了最終結果,這證明了需要額外的p2p層配置來更好地抵抗網(wǎng)絡包丟失(而不是高延遲)。不幸的是,有許多不同的設置和因素,只有基準測試允許我們了解所需的驗證器數(shù)量,并獲得相當舒適的區(qū)塊鏈速度。

p2p子系統(tǒng)的配置從文檔中很清楚,例如,看看[libp2p]、[Kademlia]協(xié)議或[BitTorrent]。

重要的p2p指標可以是:

· 進出流量

· 與其他對等點的成功/不成功連接的數(shù)量

· 返回先前緩存的數(shù)據(jù)塊的次數(shù),以及為了找到所需的數(shù)據(jù)塊需要進一步轉發(fā)請求的次數(shù)(緩存命中/丟失模擬數(shù)據(jù))

例如,在訪問數(shù)據(jù)時,較大的遺漏數(shù)意味著只有少數(shù)節(jié)點擁有請求的數(shù)據(jù),而它們沒有時間將這些數(shù)據(jù)分發(fā)給每個節(jié)點。接收/發(fā)送的p2p通信量允許識別處理網(wǎng)絡配置或通道問題的節(jié)點。

區(qū)塊鏈節(jié)點的系統(tǒng)度量

區(qū)塊鏈節(jié)點的標準系統(tǒng)度量在大量的源代碼中都有描述,因此我們將簡要介紹。它們有助于發(fā)現(xiàn)邏輯瓶頸和錯誤。

中央處理器

CPU顯示處理器執(zhí)行的計算量。如果CPU負載高——節(jié)點正在計算一些東西,積極使用邏輯或FPU(幾乎從未在區(qū)塊鏈中使用)。例如,后一種情況會發(fā)生,因為節(jié)點正在檢查電子簽名、使用強密碼處理事務或進行復雜的計算。

CPU可以被劃分成更多指向代碼瓶頸的指標。例如,系統(tǒng)時間—花在內(nèi)核代碼上的時間,用戶時間—花在用戶進程上的時間,io—等待來自慢速外部設備(磁盤/網(wǎng)絡)的i/o,等等。

內(nèi)存

現(xiàn)代區(qū)塊鏈使用鍵值數(shù)據(jù)庫(LevelDB、RocksDB),這些數(shù)據(jù)庫不斷地在其內(nèi)存中存儲“熱”數(shù)據(jù)。任何加載的服務都會受到由錯誤或針對節(jié)點代碼的攻擊所導致的內(nèi)存泄漏的影響。如果內(nèi)存消耗正在增加或急劇增加,很可能是由于大量的狀態(tài)數(shù)據(jù)庫鍵、大型交易隊列或不同節(jié)點子系統(tǒng)之間的消息量增加造成的。

內(nèi)存負載不足表明可能會增加塊數(shù)據(jù)限制或最大化交易復雜性。

響應網(wǎng)絡客戶機的完整節(jié)點依賴于文件緩存指標。當客戶機訪問狀態(tài)數(shù)據(jù)庫和交易日志的各個部分時,可能會出現(xiàn)磁盤中的舊塊并替換新塊。這反過來又降低了客戶機的響應速度。

網(wǎng)絡

主要的網(wǎng)絡指標是流量的大?。ㄒ宰止?jié)為單位)、發(fā)送和接收網(wǎng)絡數(shù)據(jù)包的數(shù)量、丟包率。這些指標經(jīng)常被低估,因為區(qū)塊鏈還不能以每秒1 Gbit的速度處理交易。

目前,一些區(qū)塊鏈項目允許用戶共享WiFi或提供存儲和發(fā)送文件或消息的服務。在測試這樣的網(wǎng)絡時,網(wǎng)絡接口流量的數(shù)量和質(zhì)量變得非常重要,因為一個擁擠的網(wǎng)絡通道會影響機器上的所有其他服務。

存儲

磁盤子系統(tǒng)是所有服務中最慢的組件,常常會導致嚴重的性能問題。過多的日志記錄、意外的備份、不方便的讀/寫模式、大量的區(qū)塊鏈卷——所有這些都可能導致顯著的節(jié)點減速或過多的硬件需求。

使用磁盤的區(qū)塊鏈交易日志操作模式類似于使用寫前日志(WAL)的不同DBMS。從技術上講,交易日志可以被看作是狀態(tài)數(shù)據(jù)庫的WAL。

因此,這些存儲指標非常重要,因為它們可以確定現(xiàn)代鍵值數(shù)據(jù)庫中的瓶頸。讀取/寫入IOPS數(shù)、最大/最小/avg延遲以及許多其他有助于優(yōu)化磁盤操作的指標。

結論

綜上所述,我們可以將度量分為:

· 區(qū)塊鏈節(jié)點度量(產(chǎn)生的塊的數(shù)量、處理的事務的數(shù)量、處理時間、完成時間等)

· p2p子系統(tǒng)指標(命中/丟失請求的數(shù)量、活動對等點的數(shù)量、p2p流量的數(shù)量和結構等)

· 系統(tǒng)節(jié)點指標(cpu、內(nèi)存、存儲、網(wǎng)絡等)

每個組都很重要,因為一旦子系統(tǒng)錯誤,就會限制其他組件的操作。即使是少量驗證器的減速也會嚴重影響整個網(wǎng)絡。

在共識性和終結性算法中,最棘手的錯誤只出現(xiàn)在大型交易流或共識性參數(shù)更改時。他們的分析需要可重復的測試條件和復雜的負載場景。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質(zhì)量和效率直接關系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉