perf(index): bypass range-result cache for Bloom CI probe

Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com>
This commit is contained in:
discord9
2026-09-28 21:18:37 +08:00
parent 03fd43dd7e
commit 372ed80945
3 changed files with 9 additions and 2 deletions
@@ -34,7 +34,7 @@ pub(super) async fn run_render_remote_config(args: RenderRemoteConfigArgs) -> Re
let config = match args.target {
RemoteConfigTarget::Frontend => frontend_prom_config(&remote.prom_store)?,
RemoteConfigTarget::Datanode if remote.disable_index_result_cache => {
"[[region_engine]]\n[region_engine.mito.index]\nresult_cache_size = \"0B\"\n"
"[[region_engine]]\n[region_engine.mito]\nrange_result_cache_size = \"0B\"\n[region_engine.mito.index]\nresult_cache_size = \"0B\"\n"
.to_string()
}
RemoteConfigTarget::Datanode => String::new(),
+1 -1
View File
@@ -193,7 +193,7 @@ before trusting the query measurements. Use
`--fixture-generator /path/to/query_perf_fixture` to provide the Rust helper to
the outer driver.
Remote-write cases can set `disable_index_result_cache = true` under `[scenario.remote_write]` to launch both base and candidate datanodes with Mito's index result cache set to `0B`; this keeps warmed query samples exercising the inverted/Bloom index applier rather than reusing cached index results. The default is false, so other cases are unchanged.
Remote-write cases can set `disable_index_result_cache = true` under `[scenario.remote_write]` to launch both base and candidate datanodes with Mito's range result cache (`[region_engine.mito].range_result_cache_size`) and index result cache (`[region_engine.mito.index].result_cache_size`) set to `0B`. This avoids cache hits that otherwise bypass the inverted/Bloom index applier; use `EXPLAIN ANALYZE VERBOSE` to check actual applier calls, since other pruning may still bypass it. The default is false, so other cases are unchanged.
Large manual remote-write cases can set `sample_chunk_size` to split ingestion by
time. For each chunk, `prepare-remote` invokes `query_perf_fixture prom-remote-write` with the
@@ -70,6 +70,13 @@ query = "EXPLAIN ANALYZE VERBOSE SELECT count(*) FROM opt06_bloom_empty_groups W
warmup = 0
iterations = 1
[[scenario.queries]]
name = "single_absent_host_count"
kind = "sql"
query = "SELECT count(*) FROM opt06_bloom_empty_groups WHERE host = 'host9999'"
warmup = 3
iterations = 18
[[scenario.queries]]
name = "count_all_rows"
kind = "sql"