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

Optimize WAL redo speed #1362

Closed
wants to merge 2 commits into from
Closed

Optimize WAL redo speed #1362

wants to merge 2 commits into from

Conversation

knizhnik
Copy link
Contributor

No description provided.

@knizhnik knizhnik changed the title Create pool fiel descriptors only once Create poll file descriptors only once Mar 15, 2022
@knizhnik knizhnik changed the title Create poll file descriptors only once Optimize WAL reso Mar 25, 2022
@knizhnik knizhnik changed the title Optimize WAL reso Optimize WAL redo speed Mar 25, 2022
@hlinnaka
Copy link
Contributor

hlinnaka commented Apr 6, 2022

This has been sitting for a while, let's try to move this forward:

  • Does the pollfds change really make a difference? In a quick test on my laptop now, I don't see any measurable difference, but there's a lot of noise...
  • Can you rebase and open a separate PR for the postgres changes, please? They're hard to comment on here and they're independent from the pollfds change so they can be considered separately.

@antons-antons
Copy link
Contributor

somewhat offtopic, but what's the best way to have a zenith repo PR that has Postgres changes as well?

also, I think instead of teaching buffer cache of consumer differences, we should introduce an explicit "local buffers only" mode to avoid special case of am_wal_redo_postgres

@knizhnik
Copy link
Contributor Author

knizhnik commented Apr 7, 2022

This has been sitting for a while, let's try to move this forward:

* Does the pollfds change really make a difference? In a quick test on my laptop now, I don't see any measurable difference, but there's a lot of noise...

The same for me: I didn't measured any noticeable difference. I just leave this change mostly for because of "common sense": if it is possible to do something once, why repeat it multiple times? Especially if it doesn't somehow complicate the code...

* Can you rebase and open a separate PR for the postgres changes, please? They're hard to comment on here and they're independent from the pollfds change so they can be considered separately.

Will do.

@knizhnik
Copy link
Contributor Author

knizhnik commented Apr 7, 2022

also, I think instead of teaching buffer cache of consumer differences, we should introduce an explicit "local buffers only" mode to avoid special case of am_wal_redo_postgres

I prefer to minimize number of changes we have made in core.
Solution with local buffer requires changes just in few places, while introducing yet another buffer cache mode will require much more changes.

@knizhnik
Copy link
Contributor Author

knizhnik commented Apr 7, 2022

Can you rebase and open a separate PR for the postgres changes, please? They're hard to comment on here and they're independent from the pollfds change so they can be considered separately.

There was already PR for postgres-only changes:

neondatabase/postgres#144

It doesn't require rebase.

@stepashka stepashka linked an issue Apr 26, 2022 that may be closed by this pull request
@LizardWizzard
Copy link
Contributor

As discussed moving to draft.

@LizardWizzard LizardWizzard marked this pull request as draft March 21, 2023 15:20
@knizhnik knizhnik closed this Mar 22, 2023
@bayandin bayandin deleted the wal_redo_optimization branch May 19, 2023 13:03
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.

Increase WAL redo speed
4 participants