▼
更多精彩推薦,請關注我們
▼
自從2020年2月PlatON升級了測試網以來,我們與社羣夥伴們一起在測試網上進行了各種功能測試、異常測試、安全測試和治理演練,順利發現了不少隱藏很深的BUG,經過不斷完善,進行了4個版本迭代。
作為主網上線前完備測試的一個重要部分,效能測試是本階段的重點。我們將持續從場景上深度還原現實中可能出現的各種狀況,無限接近主網上線後的真實環境,並在複雜多變的環境中測出真實的結果。同時針對其他先進公鏈的優點做了橫向比較。
近一個月來,在每位PlatON社羣夥伴的幫助和支援下,目前已在測試網環境下和模擬EOS環境下分佈完成了兩次壓力測試,現將測試方法和結果向大家正式公佈,歡迎廣大社羣使用者參與我們在組織的各項效能測試,驗證測試結果,提出寶貴意見。
測試環境
測試環境說明表
測試方法
1. 壓力測試
本次採用壓力測試方式,透過給系統施加極限壓力,觀察系統的效能表現,發現效能瓶頸與缺陷。
2. 測試用例
測試用例說明表
3. 測試場景
透過RPC埠同時往多個 PlatON 驗證節點發交易,持續5小時。
測試指標和結果
1. 指標定義
峰值TPS
一秒內打包的最高交易數
平均TPS
統計週期內平均每秒上鍊的交易數量
先計算10秒移動平均TPS=10秒內交易數/10;
再計算平均TPS=10秒移動平均TPS加總/統計時間*10
平均出塊時間
平均的出塊間隔時間
注:
統計起始時間
壓測啟動後,壓力TPS逐步增加,Pending交易池交易達到4500以上,取曲線穩定執行後一分鐘的時間做為TPS計算起始時間。
統計結束時間
Pending交易池交易從4500開始持續降低,取降低之前一分鐘的時間作為TPS計算結束時間。
2. 壓力測試結果
壓力測試結果表
注:
因在測試網上的壓測未記錄pending交易池達到交易數的時間,所以暫未計算平均TPS和平均出塊時間。
測試結果分析
透過以上四次壓測的結果對比來看,在高配置的環境下(模擬EOS環境),整個網路效能可以達到較高水平,即使是在處理複雜合約時,TPS也可達到2000左右。
但在測試網環境下,網路效能未達到最佳狀態。以第二次測試網壓測舉例,從TPS趨勢圖中可以看到,間斷性地會有0交易出現,拉低了整個網路的效能。
TPS趨勢圖
造成節點零出塊的原因,經過團隊分析確認,主要有以下兩個:
部分節點配置偏低,沒有達到PlatON推薦的節點配置要求 ,在高壓情況下,記憶體不足導致OOM。建議主網的節點使用PlatON推薦的配置,以避免因配置不足被處罰遭受損失。
因在第二次壓測前已做了一輪壓測,節點在第一次壓測後,消耗的記憶體沒有釋放,在第二次壓測時繼續給記憶體加壓,導致OOM。這個問題我們會在新版本中最佳化解決。
目前測試網有很多引數需要持續最佳化和完善,PlatON後續會做更多壓力測試,全方位地進行效能測試和對比測試。誠邀大家參與我們的壓測,提出寶貴的建議。之後,最新測試結果及測試細節也會在PlatON公眾號同步資訊,請大家持續關注。
瞭解PlatON更多動態
PlatON·GitHub
https://github.com/PlatONnetwork
PlatON·Forum
https://forum.latticex.foundation/c/PlatON-CN
PlatON·Telegram
https://t.me/PlatONNetworkCN
PlatON·Twitter
https://twitter.com/PlatON_Network
PlatON·LinkedIn
https://linkedin.com/company/platonnetwork
戳閱讀原文,訪問PlatON網站!