Sixteen MiB log segments - #73
Conversation
Postgres flushes sixteen MiB segments; ours were sixty four. Rotation is set below the segment size so a segment never has to be extended.
|
Warning Review limit reached
Next review available in: 9 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Bench reportBaseline: main @ same runn. Cells read baseline → this PR. Verdicts need more than ±15% to leave the noise band. linux-arm64-full
linux-x64-1cpu-1gb
linux-x64-2cpu-2gb
linux-x64-full
windows-x64-full
Field referenceAll engines in identical containers, same driver, measured 2026-07-24 @ ba0ec39. A different harness than the tables above, so read this as standing, not as this PR's delta. linux-arm64-full
linux-x64-1cpu-1gb
linux-x64-2cpu-2gb
linux-x64-full
Shared CI runners: treat single-profile swings as suggestive, agreement across profiles as real. |
|
Measured and rejected, this time on a baseline from the same runner.
The plus 11.4 and plus 35.8 percent this showed on x64-full under the old harness was an artifact. Paired against the same runner it is neutral to negative everywhere. Worth stating plainly, because it is the point of the harness work: this is a change I believed in on the strength of two runs agreeing, and it was wrong. Segment size is not why our commit costs about 2.5x a Postgres commit. |
Third attempt at measuring this; the first two were blocked by the harness rather than by the change.
Postgres flushes sixteen MiB log segments and ours were sixty four. Our durable commit costs about 2.5x theirs at the same group size and the same flush count, so if flush cost tracks the file extent rather than the bytes dirtied, this is a direct explanation.
Under the old harness it was the only candidate positive on both runs, linux-x64-full plus 11.4 then plus 35.8 percent, while every other profile disagreed with itself by up to 89 points. With both builds now benched on one runner, and a misbehaving baseline no longer failing the job, it can finally be judged.