背景说明:
当前 Doris 采用存算分离部署架构:热数据存储在本地 NVMe 上,通过 FileCache 进行缓存;冷数据存储在 S3 上,查询时按需拉取;
现对一张约 700 亿行、压缩后约 3TB 的大表进行查询性能测试,对比热存与冷存场景下的查询性能表现。
问题描述:
- 在清空 Doris 本地 FileCache 并重启 BE 节点后,对该表执行第一次主键查询,查询耗时接近 2 分钟。查询完成后发现本地 FileCache 目录新增了约 60GB 的缓存文件。请问这部分新增的 FileCache 数据是否主要来源于 从 S3 拉取到本地的索引文件(如主键索引、倒排索引等)?
- 对于这些索引数据,Doris 是否会同时在内存中维护一份缓存,还是仅以 FileCache(磁盘缓存) 的形式存在?
- 在集群重启或 FileCache 被清空的场景下,首次查询性能明显下降。是否存在手段可以避免或缓解 Doris 重启后第一次查询速度过慢的问题(例如缓存预热、索引预加载、参数调优等)?