【PlatON VS EOS】效能全面領跑 擬真環境見真章

買賣虛擬貨幣
6月28日,PlatON首度公開壓力測試報告。目前已在測試網環境下和模擬EOS環境下分佈完成了四次壓力測試。本次測試主要對PlatON進行巨集基準測試。由於EOS是當前效能比較顯著的公鏈,因此本次測試選擇在相同測試條件下使用相同測試方法與EOS做對比測試。下面為報告內容彙總:測試指標首先,在效能測試中,我們需要關注測試指標,此次主要關注的測試指標為:交易確認時間(Time to Finality: TTF)、交易吞吐量(Transaction per Second: TPS)與資源使用指標。我們設定資料採集取樣週期為10秒,每個採集週期末計算週期內的各指標平均值。交易確認時間交易確認時間為交易在整個網路上最終被確認的時間。通常[1]認為TTF由兩部分組成:TTF=TI+TC,其中TI為區塊產生的間隔,TC為區塊被驗證完成和最終確認的時間,本次測試我們根據出塊間隔結合共識機制中區塊達到最終不可逆的時間來計算TTF。在後續的進一步測試中,我們將對每筆交易從產生到最終達到不可逆的時間延遲做更詳細的測試分析。
交易吞吐量系統每秒處理交易數,單位是筆/秒。這裡的交易為成功交易,指打包在區塊中並且有成功執行receipt的交易。我們透過分析區塊資料來統計單位時間範圍(通常為1秒)內產生的區塊中交易總數作為TPS。資源佔用率資源指標指系統在負載情況下所消耗的系統資源,包括CPU、記憶體、磁碟儲存和網路流量。CPU-CPU指標指系統在負載情況下,CPU的使用率。記憶體-記憶體指標指系統在負載情況下,記憶體的使用率。
磁碟儲存-這個指標是系統在負載情況下,磁碟儲存增加的情況。網路吞吐量-網路吞吐量是指在無網路故障的情況下單位時間內透過的網路的資料數量。單位為Byte/s。測試工具本次測試實現了專門針對效能測試的測試外掛,透過在外掛中直接產生交易並透過P2P廣播的方式,將交易廣播到共識節點,儘量避免效能受RPC介面的影響。由於PlatON和EOS系統的實現差異,本次測試中使用的PlatON測試外掛和EOS測試外掛在功能上有一些差異,主要體現在PlatON的測試賬戶及其Token分配直接在創世區塊中內建,而EOS的測試賬戶及其Token分配在測試外掛中初始化。另外由於PlatON的介面支援,PlatON測試外掛中可以直接更為準確地統計TPS指標,而EOS測試的TPS是透過對區塊資料的分析進行統計。
PlatON本次測試部分遵循了此前定義的標準效能評估模型,後續會進一步做全面的測試,詳情請看:《教你看清真實TPS PlatON定義標準效能評估模型》測試環境本次測試採用AWS的c5d.4xlarge伺服器,Intel(R) Xeon(R) 8124M 16核 3.0GHz,32G記憶體,300GSSD硬碟。對2個系統均使用8000個賬戶進行測試。測試負載我們的目的主要是測試整個區塊鏈系統的效能,這裡我們選取幾個典型的應用作為巨集基準測試:原生Token轉賬、Token合約轉賬、key-value儲存合約。
測試結果

原生Token轉賬

在原生Token轉賬效能測試中,PlatON轉賬平均TPS為9604筆/秒,最大值為14755筆/秒,EOS轉賬平均TPS為3049筆/秒,最大值為5393筆/秒。

· 在CPU使用率增長不多的情況下,PlatON效能明顯優於EOS,這是由於PlatON的並行交易機制大大提升了效能。

· PlatON的記憶體和網路資源消耗遠小於EOS,從原生Token轉賬資源消耗圖中看,測試過程中儲存整體消耗兩者差不多,但是平均到交易,PlatON的儲存消耗遠低於EOS。

· 交易確認時間上,PlatON和EOS均比較穩定。PlatON中每個區塊達到最終確認的條件是後續有2個子孫區塊被投票確認。按照EOS的說法[2],每輪由21個節點輪流出塊,每個節點連續生產12個區塊,每個區塊要達到最終確認,需要經過兩個輪次,每個輪次需要收齊至少15個節點的間接確認,也就是說每個區塊至少需要等待後續15x12x2=360個區塊才能最終確認,按照EOS平均出塊時間為0.5秒計算,最終確認時間為180秒,比PlatON長。

Token合約轉賬

PlatON-EVM效能略高於EOS,PlatON-WASM效能相對略低,有提升的空間。PlatON在記憶體網路資源上的消耗均遠小於EOS,儲存消耗兩者差不多。

交易確認時間上,PlatON和EOS均比較穩定,EOS區塊的最終確認需要等待360個區塊,TTF比PlatON長。

Key-value合約

在key-value合約轉賬效能測試中,PlatON-EVM呼叫keyvalue合約平均TPS為5237筆/秒,最大值為6304筆/秒。PlatON-WASM呼叫keyvalue合約平均TPS為3297筆/秒,最大值為3797筆/秒。EOS呼叫keyvalue合約平均TPS為2451筆/秒,最大值為6268筆/秒。

· PlatON效能明顯優於EOS,CPU佔用也更高,說明PlatON在多核CPU的利用率更高。
· PlatON的記憶體和網路資源消耗遠低於EOS,儲存消耗差不多。
· 交易確認時間上,PlatON和EOS均比較穩定,EOS區塊的最終確認需要等待360個區塊,TTF比PlatON長。
· 在測試過程中EOS共識節點記憶體不斷增長,導致記憶體超系統極限被OS殺掉,在以上圖中也可看到明顯的中斷曲線。

測試總結

透過對PlatON和EOS的對比測試,總結如下:

· 受益於基於DAG的並行交易機制,PlatON的原生Token轉賬TPS效能優勢明顯。
· 在合約交易上,兩條公鏈的效能差異不大,PlatON的WASM合約效能有提升空間。
· 共識機制上的最佳化,使得PlatON的最終確認時間遠比EOS低。
· PlatON更能充分利用CPU,在記憶體、網路上的開銷遠低於EOS,測試過程中儲存整體消耗兩者差不多,但是平均到交易,PlatON的儲存消耗低於EOS。
· EOS在測試過程中記憶體不斷上漲經常漲到一定閾值後程序被系統kill呼叫,具體原因待進一步分析和明確。

參考資料:

[1] Mengting Liu, Yinglei Teng, F. Richard Yu, "Deep Reinforcement Learning based Performance Optimization in Blockchain-Enabled Internet of Vehicle", IEEE International Conference on Communications (ICC), 2019.

[2] Daniel Larimer, “DPOS BFT— Pipelined Byzantine Fault Tolerance” , Internet, http s://medium.com/eosio/dpos-bft-pipelined-byzantine-fault-tolerance-8a0634a270ba, 2018.

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;