提问参考模版:
- nebula 版本:3.2.0
- 部署方式:分布式
- 安装方式:源码编译
- 是否上生产环境:Y
- 硬件信息
- 磁盘 ssd
- 32c 128g
想问一下nebula集群资源计算文档的内存这里 内存部分得出的结果是集群总和还是每台机器所需的内存呢?
想问一下文档里容量计算的内存部分得出的结果是集群的总共所需内存还是单台机器所需内存呢?
Nebula Graph 资源要求
用户可以预估一个 3 副本 Nebula Graph 集群所需的内存、硬盘空间和分区数量。
资源 单位 计算公式 说明
硬盘空间 Bytes 点和边的总数 * 属性的平均字节大小 * 6 * 120% 由于边存在存储放大现象,所以需要点和边的总数 * 属性的平均字节大小 * 6 的空间,详情请参见切边与存储放大。
内存 Bytes [点和边的总数 * 16 + RocksDB 实例数量 * (write_buffer_size * max_write_buffer_number + 块缓存大小)] * 120% 点和边的总数 * 16 是 BloomFilter 需要占用的内存空间,write_buffer_size和max_write_buffer_number是 RocksDB 内存相关参数,详情请参见 MemTable。块缓存大小请参见 Memory usage in RocksDB。
分区数量 - 集群硬盘数量 * disk_partition_num_multiplier disk_partition_num_multiplier是一个用于衡量硬盘性能的整数,取值范围 2~20。建议在计算 SSD 硬盘的分区数量时使用 20 做参数值,HDD 硬盘使用 2。
目前集群点边总数大概在400亿,6个storage,每台128g的内存,查询总容易把内存打满然后重启