rocksdb的LOG中没有输出compaction stats

  • nebula 版本:2.5.1
  • 部署方式(分布式 / 单机 / Docker / DBaaS):分布式
  • 是否为线上版本:Y / N
  • 硬件信息
    • 磁盘( 推荐使用 SSD)SSD
    • CPU、内存信息 4216(2.1G)/1TB
  • 问题:rocksdb的LOG中没有Compaction Stats输出
--rocksdb_db_options={"max_subcompactions":"3","max_background_jobs":"8","stats_dump_period_sec":"300"}
--rocksdb_column_family_options={"disable_auto_compactions":"true","write_buffer_size":"268435456","max_write_buffer_number":"4","max_bytes_for_level_base":"3221225472","level0_file_num_compaction_trigger":"12","target_file_size_base":"268435456","level0_slowdown_writes_trigger":"9999","level0_stop_writes_trigger":"9999"}
--rocksdb_block_based_table_options={"block_size":"8192"}

--enable_rocksdb_statistics=true
--rocksdb_stats_level=kExceptDetailedTimers

看文档rocksdb有参数stats_dump_period_sec来控制stats的输出,但是设置后发现在rocksdb的LOG里stats_dump_period_sec仍然是0,这个参数没同步到rocksdb吗?

这个需要打开之后, 通过 http 来获取结果.

类似于

http://192.168.8.8:8888/rocksdb_stats?stats=rocksdb.bytes.read,rocksdb.block.cache.add

http://FLAGS_ws_ip:FLAGS_ws_http_port/rocksdb_stats?stats=rocksdb.bytes.read,rocksdb.block.cache.add

ip 跟 端口参考storage配置文件 中的 FLAGS_ws_ip 跟 FLAGS_ws_http_port

更多用法可以直接参考 test 代码
https://github.com/vesoft-inc/nebula/blob/master/src/storage/test/StorageHttpStatsHandlerTest.cpp

rocksdb的LOG中不会输出了是么?感觉LOG里的compaction stats更为详细一些

默认不会的, 如果一定想看的话可以直接改

line 185

那个是时间间隔.

浙ICP备20010487号