全量compaction过慢

nebula 版本:3.0.1
部署方式:分布式
安装方式:源码编译
是否为线上版本:Y
硬件信息
SSD 5T
内存 500G


我们实际运行过程中,没有设置rocksdb_rate_limit,1T的数据执行全量的compacion需要十几个小时的时间,磁盘的写入速度大概是30-50M/s, 太慢了,请问这个有什么办法优化吗

  1. 1TB数据的compaction确实很浪费时间,这个没有特别好的办法。
  2. 适当设置partition/增加实例, 或者在业务层能分区数据的话或许有帮助。
  3. 磁盘io利用不充分的话,可以看看是否有其他资源已经到瓶颈了,
1 个赞
  1. 上 T 的数据,最好不要用手动的全量 compact,可以开启自动 compact。
  2. 如果 cpu 比较多,可以增大 compact 的线程数。
# nebula-storaged.conf
--rocksdb_db_options={"max_subcompactions":"48","max_background_jobs":"48"}
  1. 如果内存比较大,可以给 block_cache 多一些内存
3 个赞

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。