在为Sei Giga升级做准备时,Sei Labs使用不同的状态存储后端对节点性能进行了基准测试。 在比较RocksDB和PebbleDB与MVCC进行索引密集型历史查询时,RocksDB能够将节点操作员的延迟减少10–40倍。
我们测量了 traceBlock 延迟,涉及数百万个区块——这是一个在状态存储中对键/值对进行广泛迭代的 RPC 查询。 随着节点历史的增加,PebbleDB 的迭代时间显著增长,而 RocksDB 则保持了一个更平坦的延迟曲线。
这种差异的主要原因在于后端设计。 RocksDB 支持用于 MVCC 的原生用户定义时间戳和高效的列族。 相比之下,PebbleDB 缺乏原生版本控制,需要对键进行后缀处理,并手动迭代多个版本。
这导致了RocksDB的迭代效率显著提高——尤其是对于具有大量历史状态的节点。 随着存储历史的增加,PebbleDB和RocksDB之间的性能差距变得更加明显。
虽然 RocksDB 引入了一些小的构建权衡,但性能提升使其成为处理大量状态或长历史的归档和 RPC 节点的强大选择。 我们观察到在不同设置中,跟踪延迟和迭代速度的一致改善。
106.74K