// 研究

Bitroot 效能基準

草稿。下列數字來自一次內部壓測。硬體、節點數量、軟體版本與交易類型仍待補充,補齊之前本頁保持不被搜尋引擎收錄。

本頁說明 Bitroot 如何度量吞吐量、在什麼條件下度量,以及這些數字如何重現。設計目標與實測結果分開列出,每個實測值都註明它來自哪一次測試。

1. 目標與實測

指標設計目標最近一次實測測試
吞吐量(TPS)100,000+36,430.68 tx/s,整個測試期間的平均值,自首筆至末筆上鏈交易3000 萬筆交易壓測,見第 4 節
終局確認時間待補待補本次測試未涵蓋
出塊時間待補待補本次測試未涵蓋

實測吞吐量低於設計目標。設計目標描述的是架構意圖達到的水準,實測描述的是某一次測試實際跑出的結果。

2. 指標定義

這裡的 TPS 是鏈上口徑:已上鏈交易數,除以從首筆到末筆上鏈所經過的時間,而不是壓測工具的發送速率。通用術語見效能指標詞典。

TODO(研發):說明是否包含共識與網路開銷,以及失敗交易如何計數。本次測試沒有失敗交易。

3. 測試環境

項目取值
運行模式mempool
Nonce 模式local
簽名帳戶數500
Mempool TXs100,000
小費(Tip)5,000,000,000 wei(5 gwei)
網路待補(測試網、開發網或隔離叢集)
節點數量與角色待補
單節點硬體(CPU、記憶體、磁碟、網路)待補
地理分布與延遲待補
軟體版本與 commit待補
測試日期待補

壓測工具還輸出了 blocks 為 300、chunk size 為 0 KB 兩項設定。TODO(研發):在把它們作為測試條件公布之前,先說明這兩項的含義。

4. 負載與結果

項目取值
計畫發送交易數30,000,000
實際發送交易數30,000,000
上鏈交易數30,000,000
發送失敗0
重試次數0
成功率100.00%
發送耗時805.19 s
鏈上吞吐量36,430.68 tx/s

TODO(研發):說明交易類型。報告裡接收方為 "default",沒有說明本次用的是原生轉帳、代幣轉帳還是合約呼叫。純轉帳的數字是真實應用的上限,必須在結果旁邊寫明。衝突如何改變吞吐量,參見平行 EVM 的負載熱點。

原始輸出

壓測工具的原始報告,未做任何修改:

==================================================
🔥 Stress Test Report
==================================================
Total Planned:       30000000
Successfully Sent:   30000000
Duplicate Sent:      0 (already known, not counted above)
Failed to Send:      0
Landed Transactions: 30000000
Success Rate:        100.00%
Retry Attempts:      0
Signing Time:        79499764 ms (all sign_batch_txs)
Total Pause Time:    79499764 ms (incl. recharge & signing)
--------------------------------------------------
Send Duration:       805.19s
Total Duration:      805.19s (incl. waiting)
Average RPS:         46425.94 req/s (send speed)
Average TPS:         46425.94 tx/s (inclusion speed)
--------------------------------------------------
Run Mode:            mempool
Nonce Mode:          local
Signer Count:        500
Blocks:              300
Chunk Size:          0 KB
Tip Wei:             5000000000
Mempool TXs:         100000
To:                  default
Real Chain TPS:      36430.68 tx/s (first to last landed)
==================================================

工具輸出了兩個吞吐數字。本頁採用的是鏈上口徑 "Real Chain TPS"(36,430.68 tx/s,自首筆至末筆上鏈交易)。"Average RPS" 與 "Average TPS"(46,425.94)不採用:3000 萬筆除以 805.19 s 約為 37,257 tx/s,與之對不上。

TODO(研發):說明工具如何計算 "Average TPS",以及 "Signing Time" 與 "Total Pause Time"(各 79,499,764 ms)度量的是什麼,方便讀者核對這份報告。

5. 重現方式

TODO(研發):給出壓測工具、確切的 commit、命令列與設定、原始輸出的連結。

6. 已知限制

  • 一次測試不等於持續的正式環境負載,它只說明在這套設定下網路大約 13 分鐘內的表現。
  • 負載只有一種。高爭用場景,例如大量交易存取同一合約,不在本次測試範圍內。
  • 結果只適用於上表補全後的環境,不適用於其他環境。

7. 獨立驗證

TODO(產品):連結任何第三方測量或稽核報告,註明機構、範圍與日期。如果暫時沒有,在此如實說明。

8. 更新記錄

日期變更
待補首次發布:3000 萬筆交易壓測