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

pageserver: investigate whether it's a good idea to replace BlockBuf::blocks with one big buffer. #10092

Open
Tracked by #8130
yliang412 opened this issue Dec 11, 2024 · 0 comments
Labels
c/storage/pageserver Component: storage: pageserver m/good_first_issue Moment: when doing your first Neon contributions

Comments

@yliang412
Copy link
Contributor

yliang412 commented Dec 11, 2024

BlockBuf::blocks currently holds a list buffers. In the write path, we are writing them one block at a time. Since these blocks resides next to each other on disk, we could do a big disk write instead.

///
/// A simple in-memory buffer of blocks.
///
pub struct BlockBuf {
pub blocks: Vec<IoBuffer>,
}

DoD

Investigate whether it is a good idea to

  1. Replace BlockBuf::blocks with one big buffer, OR
  2. memcpy BlockBuf::blocks to the same buffer and do one big disk write.

Then implement if possible.

@yliang412 yliang412 added m/good_first_issue Moment: when doing your first Neon contributions c/storage/pageserver Component: storage: pageserver labels Dec 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c/storage/pageserver Component: storage: pageserver m/good_first_issue Moment: when doing your first Neon contributions
Projects
None yet
Development

No branches or pull requests

1 participant