RocksDB 统计数据

Nebula Graph 使用 RocksDB 作为底层存储,本文介绍如何收集和展示 Nebula Graph 的 RocksDB 统计信息。

启用 RocksDB

RocksDB 统计功能默认关闭,启动 RocksDB 统计功能,你需要:

  1. 修改 nebula-storaged.conf 文件中 --enable_rocksdb_statistics 参数为 true。配置默认文件目录为 /use/local/nebula/etc

  2. 重启服务使修改生效。

获取 RocksDB 统计信息

用户可以使用存储服务中的内置 HTTP 服务来获取以下类型的统计信息,且支持返回 JSON 格式的结果:

  • 所有统计信息。
  • 指定条目的信息。

示例

使用以下命令获取所有 RocksDB 统计信息:

  1. curl -L "http://${storage_ip}:${port}/rocksdb_stats"

例如:

  1. curl -L "http://172.28.2.1:19779/rocksdb_stats"
  2. rocksdb.blobdb.blob.file.bytes.read=0
  3. rocksdb.blobdb.blob.file.bytes.written=0
  4. rocksdb.blobdb.blob.file.bytes.synced=0
  5. ...

使用以下命令获取部分 RocksDB 统计信息:

  1. curl -L "http://${storage_ip}:${port}/rocksdb_stats?stats=${stats_name}"

例如使用以下语句获取 rocksdb.bytes.readrocksdb.block.cache.add的信息。

  1. curl -L "http://172.28.2.1:19779/rocksdb_stats?stats=rocksdb.bytes.read,rocksdb.block.cache.add"
  2. rocksdb.block.cache.add=14
  3. rocksdb.bytes.read=1632

使用以下命令获取部分 JSON 格式的 RocksDB 统计信息:

  1. curl -L "http://${storage_ip}:${port}/rocksdb_stats?stats=${stats_name}&format=json"

例如使用以下语句获取 rocksdb.bytes.readrocksdb.block.cache.add的统计信息并返回 JSON 的格式数据。

  1. curl -L "http://172.28.2.1:19779/rocksdb_stats?stats=rocksdb.bytes.read,rocksdb.block.cache.add&format=json"
  2. [
  3. {
  4. "rocksdb.block.cache.add": 1
  5. },
  6. {
  7. "rocksdb.bytes.read": 160
  8. }
  9. ]

最后更新: October 26, 2021