From 54f26ea81539370faed271e703977c5927de6f45 Mon Sep 17 00:00:00 2001 From: discord9 <55937128+discord9@users.noreply.github.com> Date: Tue, 8 Sep 2026 13:38:47 +0800 Subject: [PATCH] test(perf): isolate BSS user SSTs and benchmark every file Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com> --- tests/perf/README.md | 14 +++++++++----- tests/perf/query_cases/sst_float_bss/case.toml | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/tests/perf/README.md b/tests/perf/README.md index c22e7f8a546..cd129575508 100644 --- a/tests/perf/README.md +++ b/tests/perf/README.md @@ -406,11 +406,15 @@ query latency percentage is `(candidate_latency_ms_median - base_latency_ms_median) / base_latency_ms_median * 100`. The configured three warmups occur after the initial query validation and before that query's 15 measured endpoint requests, so query latency is a warmed -frontend/cache measurement. After the datanodes stop, the case also runs seven -iterations of value-only `parquetbench` for up to four inspected SST files and -sequential `scanbench` over the corresponding regions, with parallelism one. -Their per-run output and aggregate -`parquetbench_median_average_ms` and `scanbench_median_average_ms` are under +frontend/cache measurement. The case restricts storage inspection to +`data/greptime/public`, excluding `greptime_private` SSTs. After the datanodes +stop, it also runs seven iterations of value-only `parquetbench` for all +inspected SST files and sequential `scanbench` over the corresponding regions, +with parallelism one. The three explicit flushes yielded six SSTs in the observed +run—three 1,105,920-row files and three 368,640-row files—because storage split +each flush; this is an observation, not a guaranteed file layout. Their per-run +output and aggregate `parquetbench_median_average_ms` and +`scanbench_median_average_ms` are under `targets[].read_bench`; they are quiescent local-file read/scan diagnostics, not warmed frontend-query latency measurements. Bench averages include iteration one; no OS cache is dropped, and the driver runs base before candidate. diff --git a/tests/perf/query_cases/sst_float_bss/case.toml b/tests/perf/query_cases/sst_float_bss/case.toml index c18dd97e840..63819158d24 100644 --- a/tests/perf/query_cases/sst_float_bss/case.toml +++ b/tests/perf/query_cases/sst_float_bss/case.toml @@ -41,6 +41,7 @@ pending_rows_flush_interval = "1s" max_batch_rows = 100000 [scenario.remote_write.storage] +root_suffix = "data/greptime/public" column = "greptime_value" min_files = 1 min_files_with_column = 1 @@ -55,7 +56,6 @@ projection = ["greptime_value"] parquet_reader = "direct" scan_scanner = "seq" parallelism = 1 -max_files = 4 [[scenario.queries]] name = "sum_all_values"