MapReduce服务 MRS-Flink性能调优建议:RocksDB作为状态后端时通过多块磁盘提升IO性能
RocksDB作为状态后端时通过多块磁盘提升IO性能
RocksDB使用内存加磁盘的方式存储数据,当状态比较大时,磁盘占用空间会比较大。如果对RocksDB有频繁的读取请求,那么磁盘IO会成为Flink任务瓶颈。当一个 TaskManager包含三个slot时,那么单个服务器上的三个并行度都对磁盘造成频繁读写,从而导致三个并行度的之间相互争抢同一个磁盘IO,导致三个并行度的吞吐量都会下降。可以通过指定多个不同的硬盘从而减少IO竞争。
【示例】Rockdb配置Checkpoint目录放在不同磁盘(flink-conf.yaml):
state.backend.rocksdb.localdir:/data1/flink/rocksdb,/data2/flink/rocksdb