Hi index 相关的,或许可以看下这个文档[1] [1] https://github.com/facebook/rocksdb/wiki/Block-Cache#caching-index-filter-and-compression-dictionary-blocks Best, Congxian
范瑞 <836961...@qq.com> 于2020年9月2日周三 下午2:05写道: > 再补充一下正常 subtask 火焰图: > https://drive.google.com/file/d/1uiH2vNi0kMGHuiHOW5Wq-m053ys4rFHu/view?usp=sharing > 代码中多次对状态的访问,从火焰图来看: contains 操作仅占整个 CPU 的 5.92%,且代码中多次对状态的访问占的 CPU 都是均匀的。 > 有问题的 火焰图,一个 MapState 的 contains 操作就把 CPU 打到了 90% > > > > > ------------------ 原始邮件 ------------------ > 发件人: > "user-zh" > < > qcx978132...@gmail.com>; > 发送时间: 2020年9月2日(星期三) 中午1:38 > 收件人: "user-zh"<user-zh@flink.apache.org>; > > 主题: Re: Flink 使用 RocksDB CPU 打满 > > > > Hi > 从火焰图看,RocksDB#get 操作占用的时间较多,contains 会调用 RocksDB > 的 get 函数 > 1. 你使用的是哪个版本的 Flink? > 2. 不同 subtask 之间的数据是否均匀呢?这里主要想知道调用 RocksDB 的 get > 函数调用频次是否符合预期 > 3. 如果我理解没错的话,有 snappy 的压缩,这个会有 IO 的操作(也就是从磁盘 load > 数据),可能还需要看下为什么这个 > subtask 的数据大量落盘 > Best, > Congxian > > > fanrui <836961...@qq.com> 于2020年9月1日周二 下午9:14写道: > > > 备注一下: > > Flink 任务并行度 1024,运行几分钟,就会有四五个 subtask 出现上述现象,其余 subtask 正常。 > > 正常的 subtask 打出的火焰图是正常的:代码中每一步都占用了一部分 CPU,而不是 MapState 的 contains > 操作占用了了大量 > > CPU。 > > > > > > > > -- > > Sent from: http://apache-flink.147419.n8.nabble.com/