Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new ingest benchmark #9711

Merged
merged 3 commits into from
Nov 11, 2024
Merged

new ingest benchmark #9711

merged 3 commits into from
Nov 11, 2024

Conversation

Bodobolero
Copy link
Contributor

@Bodobolero Bodobolero commented Nov 11, 2024

Problem

We have no specific benchmark testing project migration of postgresql project with existing data into Neon.
Typical steps of such a project migration are

  • schema creation in the neon project
  • initial COPY of relations
  • creation of indexes and constraints
  • vacuum analyze

Summary of changes

Add a periodic benchmark running 9 AM UTC every day.
In each run:

  • copy a 200 GiB project that has realistic schema, data, tables, indexes and constraints from another project into
    • a new Neon project (7 CU fixed)
    • an existing tenant, (but new branch and new database) that already has 4 TiB of data
  • use pgcopydb tool to automate all steps and parallelize COPY and index creation
  • parse pgcopydb output and report performance metrics in Neon performance test database

Logs

This benchmark has been tested first manually and then as part of benchmarking.yml workflow, example run see

https://github.com/neondatabase/neon/actions/runs/11757679870

@Bodobolero Bodobolero requested review from a team and bayandin November 11, 2024 08:19
Copy link

github-actions bot commented Nov 11, 2024

5355 tests run: 5133 passed, 0 failed, 222 skipped (full report)


Flaky tests (3)

Postgres 17

Postgres 16

Postgres 15

Code coverage* (full report)

  • functions: 31.7% (7869 of 24806 functions)
  • lines: 49.4% (62259 of 126036 lines)

* collected from Rust tests only


The comment gets automatically updated with the latest test results
69bce45 at 2024-11-11T14:08:04.161Z :recycle:

Copy link
Member

@bayandin bayandin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm okay with merging it, but I think it's best to wrap it in a Python test.
(we can merge the PR, start getting results and convert it to a Python test in parallel)

.github/workflows/ingest_benchmark.yml Outdated Show resolved Hide resolved
.github/workflows/ingest_benchmark.yml Show resolved Hide resolved
.github/workflows/ingest_benchmark.yml Show resolved Hide resolved
@Bodobolero Bodobolero enabled auto-merge (squash) November 11, 2024 13:03
@Bodobolero Bodobolero merged commit 8db84d9 into main Nov 11, 2024
83 checks passed
@Bodobolero Bodobolero deleted the bodobolero/new_ingest_bench branch November 11, 2024 17:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants