neondatabase / neon

Neon: Serverless Postgres. We separated storage and compute to offer autoscaling, code-like database branching, and scale to zero.
https://neon.tech
Apache License 2.0
15.22k stars 444 forks source link

page_service: add benchmark for batching #9820

Open problame opened 2 days ago

problame commented 2 days ago

This PR adds two benchmark to demonstrate the effect of server-side getpage request batching added in https://github.com/neondatabase/neon/pull/9321.

For the CPU usage, I found the the prometheus crate's built-in CPU usage accounts the seconds at integer granularity. That's not enough you reduce the target benchmark runtime for local iteration. So, add a new libmetrics metric and report that.

The benchmarks are disabled because on our benchmark nodes, timer resolution isn't high enough. They work (no statement about quality) on my bare-metal devbox.

They will be refined and enabled once we find a fix. Candidates at time of writing are:

Refs:

github-actions[bot] commented 2 days ago

5535 tests run: 5318 passed, 0 failed, 217 skipped (full report)


Flaky tests (1) #### Postgres 17 - `test_create_churn_during_restart`: [debug-x86-64](https://neon-github-public-dev.s3.amazonaws.com/reports/pr-9820/11971860834/index.html#suites/ec4311502db344eee91f1354e9dc839b/456f7450440fda1c/retries)

Code coverage* (full report)

* collected from Rust tests only


The comment gets automatically updated with the latest test results
3eba1babe267649f8cebefc91c236589db030548 at 2024-11-22T12:39:16.085Z :recycle: