>
> You're right that it should be removed, but this explanation is wrong. The
> behavior as configured is actually "if there are >=100 other transactions in
> progress, wait 0.1 second before committing after the first one gets
> committed", in hopes that one of the other 100 might also join along in the
> disk write.
Thanks for the correction. My question is how you're getting .1 seconds
from his commit_delay?
if (CommitDelay > 0 && enableFsync &&
CountActiveBackends() >= CommitSiblings)
pg_usleep(CommitDelay);
Wouldn't this actually be 1 second based on a commit_delay of 100000?
>
>
> Since in this case max_connections it set to 100, it's actually impossible
> for the commit_delay/commit_siblings behavior to trigger give this
> configuration. That's one reason it should be removed. The other is that i
> general, if you don't exactly what you're doing, you shouldn't be touching
> either parameters; they don't do what people expect them to and it's
> extremely unlikely you'll encounter any of the rare use cases where they
> might help.
After looking, I agree, thanks again for the correction Greg.
--Scott