Hi everyone, my experience with RocksDBStatebackend have left me a little bit confused. Maybe you guys can confirm that my epxierence is the expected behaviour ;):
I have run a "performancetest" twice, once with FsStateBackend and once RocksDBStatebackend in comparison. In this particular test the state saved is generally not large (in a production scenario it will be larger.) These are my observations: 1. Minimal Checkpoint Size (no records) with RocksDB was 33MB compared to <<1MB with the FSStatebackend. 2. Throughput dropped from 28k/s -> 18k/s on a small cluster. 3. Checkpoint sizes as reported in the Dashboard was ca. 1MB for FsStatebackend but >100MB for RocksDbStatebackend. I hope the difference gets smaller for very large state. Can you confirm? 4. Checkpointing Times as reported in the Dashboard were 26secs for RocksDB during the test and <1 second for FsStatebackend. Does the reported time correspond to the sync. + asynchronous part of the checkpointing in case of RocksDB? Is there any way to tell how long the synchronous part takes? Form these first observations RocksDB does seem to bring a large overhead for state < 1GB, I guess? Is this expected? Cheers, Konstantin