Closed problame closed 3 months ago
Reactivated page bench in CI, see https://github.com/neondatabase/neon/pull/8023 however test is still flaky due to other reasons https://github.com/neondatabase/neon/issues/8070 see https://neondb.slack.com/archives/C060CNA47S9/p1718358720474039
This flakyness was now fixed with https://github.com/neondatabase/neon/pull/8079 and the page bench testcase is run for each main commit in neon.git repo
and reported back in this dashboard
Dedicated EC instance runner is now in terraform see issue linked above. There is one piece missing https://github.com/neondatabase/cloud/issues/15053 Until then I am running the workflow from https://github.com/neondatabase/ec2_test_runner/blob/main/.github/workflows/periodic_pagebench.yml
The driver code running on the instance runner is here
https://github.com/neondatabase/ec2_test_runner/tree/main/pagebench
The GitHub workflow in neon repo and the test cases are in this PR https://github.com/neondatabase/neon/pull/8233
The grafana dashboard is here https://neonprod.grafana.net/d/ddqtbfykfqfi8d/afd0fdec-f44d-5f2c-a2c0-b738d4ce3d32?orgId=1
however you can also use the generic perf dashboard
The GitHub workflow has a manual dispatch where you can enter the full commit hash of a Neon repo commit and then run the test with that specific commit to bi-sect a regression.
Also you can teleport to the ec2 instance runner with tsh ssh ec2-test-runner-1.eu-central-1.aws.neon.build
during the run.
The test was failing and needed some rework
https://github.com/neondatabase/neon/pull/8382#event-13552246867
https://github.com/neondatabase/neon/pull/6214 adds a pagebench benchmark.
In order to make benchmark results actionable, the results that we record during the nightly runs should be easily reproducible by Pageserver developers.
DoD
Implementation Ideas
Related Issues
https://github.com/neondatabase/neon/pull/6214 adds the first pagebench benchmark.
6295 enables fast iteration (measure -> change -> build cycle) using overlayfs.
Not useful in the nightly benchmarks which will run the benchmark just once.
https://github.com/neondatabase/neon/pull/6350 adds a script to setup the ec2 instance store.