Repository navigation
docs: size heartbeat timers by commit rate, with 15-minute autovacuum results - #259
Merged
Merged
Conversation
Benchmark gate✅ gate passed
Gated (fails the build): |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
These docs changes come from the 15-minute benchmark matrix that #258 made possible:
r1000-b1andr10000-b50, each run untuned, tuned and unthrottled. The results change two things the docs said:autovacuum_naptimein every run, untuned ones included. Table size, dead tuples and claim time stopped growing within two minutes. The differences between the three settings were within noise; the largest index came from the unthrottled runs.Changes
docs/usage/timers.md. The cost paragraph no longer says to size autovacuum for the heartbeat rate. It now explains why the default trigger is enough as long as each timer is pinged more often than every five minutes, and that dead tuples peak at about the ping rate ×autovacuum_naptime. It points to commit rate as the limit and recommends grouping pings past about 1,000/s. A table that also carries ordinary messages still gets the queue-table advice.docs/concepts/performance.md.Single runs per point on an Apple M2 with OrbStack and Postgres 17 at default settings. The page presents them as shape, not capacity. The 1,000/s and 10,000/s numbers are copied from the matrix output; I didn't add a rate between them, so "past about 1,000 pings/s" is the measured boundary, not a computed one.
just docs-buildpasses in strict mode.