Skip to content

Pin the ravel entry to v0.23.0 - #2471

Merged
alexey-milovidov merged 6 commits into
ClickHouse:mainfrom
pmoust:ravel-v0.23.0-upstream
Oct 12, 2026
Merged

alexey-milovidov merged 6 commits into
ClickHouse:mainfrom
pmoust:ravel-v0.23.0-upstream

Conversation

@pmoust

@pmoust pmoust commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Pins the ravel entry to Ravel v0.23.0 and sizes its load to the machine.

What changes for this benchmark:

  • Object size: the loader now merges its 100,000-row batches into stored objects of about 25 MB (--target-bytes 1850000000, --max-flush-delay 30s), instead of one ~4 MB object per batch. That is about 410 objects instead of about 2,600. Above the stock fetch policy's ranged-read break-even, a cold scan reads only the columns a statement needs instead of whole objects, and that is most of the change in the cold column.
  • Load sized to the machine: v0.23.0 holds the loader's batches under a memory budget. ./load picks the pipeline depth, read cursors and that budget from MemTotal (table in the README). Every value can be overridden from the environment.
  • q28: averages octet_length("URL") instead of length("URL"). ClickHouse's length() counts bytes and DataFusion's counts characters, so this is the faithful translation; q29 is unchanged.
  • Tags: stateless is dropped from template.json, so the load time is shown.
  • Server: no change to ./start. It passes no performance flags, the same as before.

Measurement. Published v0.23.0 binaries, checked against the release's SHA256SUMS, on a fresh c6a.4xlarge using this repository's cloud-init with this branch's entry:

figure v0.21.0 (published, results/20261004) v0.23.0
load 1,224 s 924 s
data size 9.84 GB 10.21 GB
statements answered 43 of 43 43 of 43
cold sum 1,291.0 s 486.6 s
hot sum (best of tries 2 and 3) 87.2 s 56.9 s
hot geometric mean 1.557 s 0.740 s
concurrent QPS / error ratio 0.623 / 0.103 0.653 / 0.084

Other machines. The same load (which does not depend on the server's configuration) completed on c6a.large, c6a.xlarge, c6a.2xlarge, c8g.4xlarge, c6a.metal, c7a.metal-48xl and c8g.metal-48xl:

  • 4 GB: load in 3,917 s, about 17 MB median objects. The budget binds there, so the loader flushes early.
  • 8 GB: 1,979 s.
  • 16 GB: 1,104 s.
  • 32 GB and up: 762 to 924 s, about 24.5 MB median objects.

The c6a.large load completes where v0.21.0's failed. Those passes ran a tuned server configuration, so they are not stock query results and are not included here.

The README's figures for the object layout, the resolved pools and the tuned configuration are updated for v0.23.0.

v0.23.0 merges the loader's 100,000-row batches into stored objects of
about 25 MB under a memory budget. ./load picks the pipeline depth, read
cursors and budget from MemTotal, so the same recipe loads on 4 GB to
metal machines. q28 averages octet_length, which matches ClickHouse's
byte length(). The stateless tag is dropped so the load time is shown.
The real-S3 figures were from v0.16.1 with 4 MB objects. Replace them with a v0.23.0 stock pass on c6a.4xlarge against a same-region bucket, beside the RustFS result from the same release.
… c7a.metal-48xl, c8g.4xlarge, c8g.metal-48xl)
@github-actions

Copy link
Copy Markdown
Contributor

Results for ravel are ready for: c6a.2xlarge, c6a.4xlarge, c6a.metal, c7a.metal-48xl, c8g.4xlarge, c8g.metal-48xl.
The result files are committed as cef3175.
Preview of the benchmark page with these results

Logs:

@github-actions

Copy link
Copy Markdown
Contributor

Results for ravel are ready for: c6a.xlarge.
The result files are committed as 8631fdc.
Preview of the benchmark page with these results

Logs:

@github-actions

Copy link
Copy Markdown
Contributor

Results for ravel are ready for: c6a.large.
The result files are committed as 4b522aa.
Preview of the benchmark page with these results

Logs:

@github-actions

Copy link
Copy Markdown
Contributor

Results for ravel are ready for: t3a.small.
The result files are committed as e4e85b6.
Preview of the benchmark page with these results

Logs:

@alexey-milovidov
alexey-milovidov merged commit 1ef4c90 into ClickHouse:main Oct 12, 2026
2 of 3 checks passed

This branch is waiting to be deployed

1 waiting deployment
benchmark-approval — e4e85b68 Waiting Oct 12, 2026 by robot-clickhouse via launch #781
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

machine:all PR benchmark on every machine type

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants