首页 > 解决方案 > RocksDB配置建议

问题描述

我正在寻找有关我的 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 响应:

约为 1 毫秒,但 P99 和 PMAX 非常糟糕。我们正在寻找某种方法来减少大约 10 倍 P95 的 PMAX 响应时间。

谢谢。

标签: configrocksdbrocksdb-java

解决方案


您可以使用 tmpfs 将所有 db 加载到内存中吗...基本上只是将数据复制到 RAM 中看看是否有帮助....在单独的作业中压缩 sst 文件而不是在启动时摄取可能是有意义的。 ..这可能需要更改您的机器配置,以便更多地面向 RAM 而更少地面向 SSD 存储


推荐阅读