在準備 Sei Giga 升級時,Sei Labs 使用不同的狀態存儲後端對節點性能進行了基準測試。 在比較 RocksDB 和 PebbleDB 針對索引密集型歷史查詢的 MVCC 時,RocksDB 能夠將節點操作員的延遲降低 10–40 倍。
我們測量了 traceBlock 延遲,涵蓋了幾百萬個區塊——這是一個 RPC 查詢,對狀態存儲中的鍵/值對進行了廣泛的迭代。 隨著節點歷史的增加,PebbleDB 的迭代時間顯著增長,而 RocksDB 則保持了更平坦的延遲曲線。
這種差異的主要原因在於後端設計。 RocksDB 支援原生用戶定義的時間戳,用於 MVCC 和高效的列族。 相比之下,PebbleDB 缺乏原生版本控制,需要鍵後綴和手動迭代多個版本。
這導致 RocksDB 的迭代效率顯著提高——特別是對於具有大量歷史狀態的節點。 隨著存儲歷史的增加,PebbleDB 和 RocksDB 之間的性能差距變得更加明顯。
雖然 RocksDB 引入了一些小的構建權衡,但性能的提升使其成為處理大量狀態或長期歷史的存檔和 RPC 節點的強大選擇。 我們觀察到在各種設置中,追蹤延遲和迭代速度都有穩定的改善。
106.75K