-
Notifications
You must be signed in to change notification settings - Fork 456
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
Prewarm compute nodes #4828
Prewarm compute nodes #4828
Conversation
1240 tests run: 1190 passed, 0 failed, 50 skipped (full report) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wow, that's a peculiar theory :) I'd love to see more proofs / investigation, but should be also fine just to try, though
Several correlations you should be aware of:
Just random thoughts, cannot give any good explanation |
One more data point: I found out that on staging walproposer full sync actually runs on Off topic: for this reason I also switched the "inside pod breakdown" panel to only show |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see any immediate issues with it, if you want to run experiments on stgaing :)
Now that we know this works, let's reopen the question of "avoid binding to vms that are busy prewarming". Do you think I should add a new |
If there will be a state before
That's the easiest one, I guess, just don't start http server until prewarming is finished |
Problem
After deploying the sync safekeepers hot path, total startup improved, but postgres startup p90 in
us-east-2
got worse. I'm not sure but seems that it's only for VMs. That's the only region that has VMs, and they take about 10% of starts, and only p90 starts are impacted. Grepping logs also confirms it's mostly VMs.Now the question is, why does postgres start faster on VMs if we run walproposer.c before it? It's possible that walproposer warms up the vm:
Summary of changes
When we start compute_ctl in pool mode, I run initdb and postgres to warm it up. I'm not sure if this will have an effect but it's easy to test on stage. If it doesn't work it's easy to revert.