From: | Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
---|---|
To: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Wait events for delayed checkpoints |
Date: | 2023-10-12 01:10:25 |
Message-ID: | CA+hUKGL7Whi8iwKbzkbn_1fixH3Yy8aAPz7mfq6Hpj7FeJrKMg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
You can't tell if your checkpointer is spending a lot of time waiting
around for flags in delayChkptFlags to clear. Trivial patch to add
that. I've managed to see it a few times when checkpointing
repeatedly with a heavy pgbench workload.
I had to stop and think for a moment about whether these events belong
under "WaitEventIPC", "waiting for notification from another process"
or under "WaitEventTimeout", "waiting for a timeout to expire". I
mean, both? It's using sleep-and-poll instead of (say) a CV due to
the economics, we want to make the other side as cheap as possible, so
we don't care about making the checkpointer take some micro-naps in
this case. I feel like the key point here is that it's waiting for
another process to do stuff and unblock it.
Attachment | Content-Type | Size |
---|---|---|
0001-Add-wait-events-for-checkpoint-delay-mechanism.patch | text/x-patch | 2.4 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Merlin Moncure | 2023-10-12 03:05:50 | Memory knob testing (was Re: Let's make PostgreSQL multi-threaded) |
Previous Message | Michael Paquier | 2023-10-12 01:10:04 | Re: odd buildfarm failure - "pg_ctl: control file appears to be corrupt" |