求助:集群性能优化配置建议

集群配置:
5台 16U 64G 2T(HHD)
metad 3台
graphd 5台
storaged 5台
通过RPM安装,配置文件仅仅在默认的基础上修改了相关的IP、以及data和log的目录
目前集群中有5000w+的点,3亿+的边
目前cpu和实际使用内存都比较空闲,请问如何调整配置,可以通过增大资源消耗带来性能提升

1:内存比较多的话,可以增加Block Cache.你的数据量级最佳状态应该可以全缓存在内存中.
2:应该是HDD?不是SSD的话对scan查询不友好.仍然是避免进硬盘读文件.compaction相关的配置应该可以调一调.避免读太多文件
3:然后建schema的时候需要注意shard数量.

1 个赞

大佬你好,非常感谢,还能给出一些具体一点的建议吗?比如:

  1. 对于Block Cache,默认是4M,我这种情况调多大合适呢?
  2. compaction相关的配置应该调整哪些具体配置项呢?
    感谢!!

可以调整NebulaGraph配置。这些命令需要在您的NebulaGraph服务器的配置文件中执行。这些配置文件通常位于/usr/local/nebula/etc/目录下,具体路径可能因您的安装方式而异。

  1. 调整graphd配置:
    • 打开graphd的配置文件(例如nebula-graphd.conf)。
    • 修改以下参数:
      --max_handlers=1000  # 增加并发处理能力
      --session_timeout=604800  # 设置会话超时时间为7天
      --query_timeout=3600  # 设置查询超时时间为1小时
      
  2. 调整storaged配置:
    • 打开storaged的配置文件(例如nebula-storaged.conf)。
    • 修改以下参数:
      --rocksdb_block_cache=4294967296  # 设置RocksDB块缓存为4GB
      --rocksdb_block_size=65536  # 设置RocksDB块大小为64KB
      --rocksdb_compression_type=snappy  # 使用Snappy压缩算法
      --rocksdb_write_buffer_size=536870912  # 设置RocksDB写缓冲区大小为512MB
      --rocksdb_sst_size_in_mb=64  # 设置RocksDB SST文件大小为64MB
      --enable_rocksdb_wal=true  # 启用RocksDB预写日志
      --num_threads=32  # 根据您的CPU核心数调整线程数
      
  3. 重启服务:
    • 在修改配置文件后,需要重启graphd和storaged服务以使更改生效。
    • 使用以下命令重启服务:
      sudo systemctl restart nebula-graphd
      sudo systemctl restart nebula-storaged
      

注意:确保您已经备份了所有重要数据,并且在测试环境中先验证一下再操作。