Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rocksdb-stats #72

Merged
merged 5 commits into from
Aug 24, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/manual-CN/1.overview/0.introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## 什么是 Nebula Graph

**Nebula Graph** 是一个开源 (Apache 2.0),高性能的分布式图数据库,是世界上唯一一个支持百亿节点,万亿条边,并提供毫秒延迟的图数据库解决方案。
**Nebula Graph** 是一个开源 (Apache 2.0),高性能的分布式图数据库,是一个支持百亿节点,万亿条边,并提供毫秒延迟的图数据库解决方案。

**Nebula Graph** 的目标是提供高并发低延时的读写及计算。 **Nebula Graph** 是一个开源项目,我们期待与社区一起共同推进行业发展。

Expand Down
5 changes: 3 additions & 2 deletions docs/manual-CN/1.overview/1.concepts/2.nGQL-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,11 @@
- 简单类型: **vid****double****int****bool****string****timestamp**
<!-- **float**,**path**, **year**, **month** (year/month), **date**, **datetime** -->
- **vid** : 64 位有符号整数,用来表示点 ID
- 简单类型列表,如: **integer[]**, **double[]**, **string[]**

<!-- - 简单类型列表,如: **integer[]**, **double[]**, **string[]**
- **Map**: 键值对列表。键类型必须为 **字符**,值类型必须与给定 map
- **Object** (未来版本支持): 键值对列表。键类型必须为**字符**,值可以是任意简单类型
- **Tuple List**: *只适用于返回值*。由元数据和数据(多行)组成 。元数据包含列名和类型。
- **Tuple List**: *只适用于返回值*。由元数据和数据(多行)组成 。元数据包含列名和类型。 -->

### 类型转换

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,9 @@ wal_bytes_per_sync
delayed_write_rate
avoid_flush_during_shutdown
max_open_files
enable_write_thread_adaptive_yield
max_subcompactions -- level0 到 level1 的 compact 启用多线程。默认为 1,动态修改重启后生效
max_background_jobs -- 使用多线程进行 compact。默认为 1,动态修改重启后生效
stats_persist_period_sec
stats_history_buffer_size
strict_bytes_per_sync
```

以上参数都可通过 `UPDATE CONFIGS` 语法进行动态修改,也可以写在本地配置文件中。具体作用和修改是否需要重启请参考 RocksDB 手册。
Expand All @@ -104,9 +104,9 @@ max_bytes_for_level_multiplier
disable_auto_compactions -- 停止写入数据时候的自动 compact,默认 false。动态修改立刻生效。
```

> 以上参数都可通过 UPDATE CONFIGS 语法进行动态修改,也可以写在本地配置文件中。具体作用和修改是否需要重启请参考RocksDB手册。
以上参数都可通过 UPDATE CONFIGS 语法进行动态修改,也可以写在本地配置文件中。具体作用和修改是否需要重启请参考RocksDB手册。

以上参数可通过命令行如下设置:
以上参数可通过命令行如下设置

```ngql
nebula> UPDATE CONFIGS storage:rocksdb_column_family_options = \
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# RocksDB 统计功能

**Nebula Graph** 使用 RocksDB 作为其底层存储。本文档将教你如何收集和展示 **Nebula Graph** 的 RocksDB 统计信息。

## 启用 RocksDB 统计功能

RocksDB 统计功能默认为禁用状态。如果要启用 RocksDB 统计功能,你需要:

- 在配置文件 `storaged.conf`,将 `--enable_rocksdb_statistics` 参数修改为 `true`。配置文件默认目录为 `/home/user/nebula/build/install/etc`
- 重新启动服务以使修改生效。

启用此功能后,统计信息将定期转储到每个数据库服务的日志文件中。

## 获取 RocksDB 统计信息

你可以使用存储服务中的内置 Web 接口获取统计信息。使用 Web 服务获取 RocksDB 统计信息一共有三种方法:

1. 获取全部统计信息;
2. 获取指定条目的信息;
3. 获取 JSON 格式的统计信息。

## 示例

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

```bash
curl -L "http://${storage_ip}:${port}/rocksdb_stats"
```

例如:

```bash
curl -L "http://172.28.2.1:12000/rocksdb_stats"

rocksdb.blobdb.blob.file.bytes.read=0
rocksdb.blobdb.blob.file.bytes.written=0
rocksdb.blobdb.blob.file.bytes.synced=0
...
```

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

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

例如:

```bash
curl -L "http://172.28.2.1:12000/rocksdb_stats?stats=rocksdb.bytes.read,rocksdb.block.cache.add"

rocksdb.block.cache.add=14
rocksdb.bytes.read=1632
```

使用以下命令获取部分 Json 格式的 RocksDB 统计信息:
Amber1990Zhang marked this conversation as resolved.
Show resolved Hide resolved

```bash
curl -L "http://${storage_ip}:${port}/rocksdb_stats?stats=${stats_name}.&returnjson"
```

例如:

```bash
curl -L "http://172.28.2.1:12000/rocksdb_stats?stats=rocksdb.bytes.read,rocksdb.block.cache.add&returnjson"

[{"value":14,"name":rocksdb.block.cache.add},{"value":1632,"name":"rocksdb.bytes.read"}]
```
2 changes: 1 addition & 1 deletion docs/manual-CN/5.appendix/vid-partition.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,6 @@ VID mod partition_number = partition ID + 1
- `partition_number``VID` 所处图空间的的分区数量,即 [CREATE SPACE](../2.query-language/4.statement-syntax/1.data-definition-statements/create-space-syntax.md) 语句中 `partition_num` 的值。
- `partition ID` 即该 `VID` 所在分区的 ID。

例如,如果有 100 个分区,那 `VID` 为 1、11、101、1001 的点将存储在同一个分区上。
例如,如果有 100 个分区,那 `VID` 为 1、101、1001 的点将存储在同一个分区上。

此外,`partition ID` 和机器之间的对应关系是随机的。因此不可以假设任何两个分区分布在同一台机器上。
1 change: 1 addition & 0 deletions docs/manual-CN/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@
* [meta 层运行统计 (metrics)](3.build-develop-and-administration/7.monitor/2.meta-metrics.md)
* [storage 运行统计 (metrics)](3.build-develop-and-administration/7.monitor/3.storage-metrics.md)
* [graph 层运行统计 (metrics)](3.build-develop-and-administration/7.monitor/4.graph-metrics.md)
* [RocksDB 统计数据](3.build-develop-and-administration/7.monitor/5.rocksdb-statistics.md)
* 源码开发和 API
* [Key Value 接口](3.build-develop-and-administration/6.develop-and-interface/kv-interfaces.md)
* [Nebula Graph 客户端](1.overview/2.quick-start/3.supported-clients.md)
Expand Down
2 changes: 2 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,8 @@ nav:
- Meta Metrics: manual-CN/3.build-develop-and-administration/7.monitor/2.meta-metrics.md
- Storage Metrics: manual-CN/3.build-develop-and-administration/7.monitor/3.storage-metrics.md
- Graph Metrics: manual-CN/3.build-develop-and-administration/7.monitor/4.graph-metrics.md
- RocksDB Statistics: manual-CN/3.build-develop-and-administration/7.monitor/5.rocksdb-statistics.md


- 源码开发和 API:
- Key Value API: manual-CN/3.build-develop-and-administration/6.develop-and-interface/kv-interfaces.md
Expand Down