facebook / facebook/rocksdb

Seeking Advice for Optimizing RocksDB Performance

Open
#11,973 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
32.1k
Forks
6.9k
Avg merge
32m
Merged PRs (30d)
1

Description

RocksDB 8.5.4

Hi, I'm using RocksDB for a read-heavy use case. The DB is built in one central server, and the files are distributed to various replicas to bootstrap data.

Here are some key metrics:

Average row size: 5KB
Block size: 32KB
Database size on disk: 6GB
Number of records: 20M
Block cache size: 10GB
Average read latency: 200ms
Peak read QPS: 68K
Multiget batch size: 500
Total read threads: 350

And, no compactions or writes happening at the time of reads.

I'm eager to explore if there's potential to further enhance RocksDB's performance. Previously, I managed to improve data block cache hits from 50% to over 90% through various adjustments. Consequently, disk-related bottlenecks have become rare.

Now, I suspect that any remaining read latency might be linked to block cache contention or possibly another overlooked factor. Is there room for further optimization, or have I reached a performance ceiling?

I'd greatly appreciate any insights or suggestions on this matter.

Thank you!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.