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

walredo: simple tests and bench updates #3045

Merged
merged 6 commits into from Jan 16, 2023
Merged

Conversation

koivunej
Copy link
Contributor

@koivunej koivunej commented Dec 9, 2022

Separated from #2875.

The microbenchmark has been validated to show similar difference as to larger scale OLTP benchmark.

pageserver/src/walredo.rs Outdated Show resolved Hide resolved
@koivunej
Copy link
Contributor Author

koivunej commented Dec 9, 2022

validated to show similar difference

In current async-walredo, performance governor, boost disabled, same firefox background noise, trimmed out output:

short/short/1           time:   [23.856 µs 24.087 µs 24.351 µs]
                        change: [+102.34% +104.62% +107.46%] (p = 0.00 < 0.05)
short/short/2           time:   [44.501 µs 45.072 µs 45.649 µs]
                        change: [-8.6098% -7.2657% -5.7848%] (p = 0.00 < 0.05)
short/short/4           time:   [64.947 µs 66.075 µs 67.288 µs]
                        change: [-35.430% -34.125% -32.647%] (p = 0.00 < 0.05)
short/short/8           time:   [91.637 µs 93.185 µs 95.520 µs]
                        change: [-49.495% -48.590% -47.459%] (p = 0.00 < 0.05)
short/short/16          time:   [175.49 µs 176.69 µs 177.94 µs]
                        change: [-56.441% -56.128% -55.795%] (p = 0.00 < 0.05)

medium/medium/1         time:   [214.42 µs 215.18 µs 215.95 µs]
                        change: [+13.991% +14.437% +14.893%] (p = 0.00 < 0.05)
medium/medium/2         time:   [413.60 µs 414.96 µs 416.45 µs]
                        change: [-0.6190% -0.2453% +0.0944%] (p = 0.20 > 0.05)
medium/medium/4         time:   [784.73 µs 786.95 µs 789.17 µs]
                        change: [-4.5931% -4.2810% -3.9914%] (p = 0.00 < 0.05)
medium/medium/8         time:   [859.98 µs 868.79 µs 880.23 µs]
                        change: [-46.889% -46.406% -45.588%] (p = 0.00 < 0.05)
medium/medium/16        time:   [1.0130 ms 1.0229 ms 1.0342 ms]
                        change: [-69.272% -68.951% -68.606%] (p = 0.00 < 0.05)

In OLTP benchmark with pgbench -i -s 10, pgbench -S -c 1 (select-after-insert), pgbench -c 10 (update), pgbench -S -c 1 (select-after-update), the differences were similar-ish:

  • x0.82 for select-after-insert
  • x1.09 for update
  • x0.81 for select-after-update

Setup for this was plain empty neon_local pg start main without any configuration. It seems the /1 (single request) performance matters the most.

Copy link
Contributor

@LizardWizzard LizardWizzard 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 probably not the best fit for reviewing walredo stuff, since I was not heavily involved in recent discussions. So I think someone else needs to have a look. To me looks reasonable

pageserver/src/walredo.rs Outdated Show resolved Hide resolved
@koivunej
Copy link
Contributor Author

Thanks! These do work fine as is test cases for #2947 so I am inclined to merge them as is. Asking for another reviewer.

@koivunej koivunej requested review from knizhnik and removed request for KlimentSerafimov December 13, 2022 11:21
@koivunej
Copy link
Contributor Author

Should had rebased, doing it now...

@koivunej
Copy link
Contributor Author

Rebased on top of main.

@koivunej
Copy link
Contributor Author

Ok, had forgotten this, thought it had already been merged. Let's see what the conflict is.

adds pageserver/fixtures for the page image.
also reuse threads between runs for less noise in profiling.
less warnings.
it seems that we get much more stable values and less warnings out of
criterion this way.
@koivunej koivunej merged commit a8a9bee into main Jan 16, 2023
@koivunej koivunej deleted the bench_walredo_updates branch January 16, 2023 16:24
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.

None yet

3 participants