我正在寻找有关我的 RocksDB 配置的建议。我们的用例是将 100GB 的键值对加载到 Rocksdb 中,并且在运行时只为数据库中的键值对提供服务。密钥为 32 字节,值大小为 1.6 KB。
我们现在拥有的是我们使用 hadoop 使用 SstFileWriter api 生成一个 100GB 的 sst 文件并将其保存在 S3 中。出现的每个新服务器都使用:db.ingestExternalFile(..) 来摄取文件。我们使用 i3.large 机器(15.25 GiB | 2 vCPUs | 475 GiB NVMe SSD)。给定当前配置,来自 Rocksdb 的 P95 和 avg 响应:
- 块大小 = 2KB
- 格式版本 = 4
- Read-Write=100% 在运行时读取
约为 1 毫秒,但 P99 和 PMAX 非常糟糕。我们正在寻找某种方法来减少大约 10 倍 P95 的 PMAX 响应时间。
谢谢。