在执行compaction操作一段时间后会发生阻写

提问参考模版:

  • nebula 版本:v3.2.0
  • 部署方式:单机
  • 安装方式:Docker
  • 是否上生产环境:N
  • 硬件信息
    • 磁盘 200G HDD
    • CPU、内存信息 32C 32G
      修改了部分参数,其余为默认参数:
      –flagfile=/usr/local/nebula/etc/nebula-standalone.conf
      –minloglevel=1
      –v=1
      –rocksdb_block_cache=256
      –system_memory_high_watermark_ratio=0.95
      –max_sessions_per_ip_per_user=10000
      –enable_authorize=false
      –enable_partitioned_index_filter=true
      –client_idle_timeout_secs=28800
      –session_idle_timeout_secs=28800
      –max_edge_returned_per_vertex=1000
      –daemonize=false
      –containerized=true
      –wal_ttl=1800 -
      -rocksdb_rate_limit=30
      –timezone_name=UTC+08:00
  • 问题的具体描述
    nebula 数据大概40g左右,手动执行compaction大概需要一个小时,在compaction执行到大概30min时候,发现数据开始写不进去了,当compaction结束后,数据又可以写进去。
    想问下,大概是什么原因导致阻写的。

磁盘性能受限,rocksdb compaction过慢,当积累的文件比较多时,会停止写入。

2 个赞

HDD磁盘性能是一方面,另外可以考虑加大compaction的后台线程数来加速,比如:
rocksdb_db_options={“max_subcompactions”:“16”,“max_background_jobs”:“16”}

2 个赞

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