Re: [BUG]: the walsender does not update its IO statistics until it exits
Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
From: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2025-03-10T14:52:42Z
Lists: pgsql-hackers
Hi, On Mon, Mar 10, 2025 at 09:23:50AM +0900, Michael Paquier wrote: > On Mon, Mar 03, 2025 at 11:54:39AM +0000, Bertrand Drouvot wrote: > > So it does not look like what we're adding here can be seen as a primary bottleneck > > but that is probably worth implementing the "have_iostats" optimization attached. > > > > Also, while I did not measure any noticeable extra lag, given the fact that > > pgstat_flush_io() shows at about 5.5% and pgstat_flush_backend() at about 2.5%, > > that could still make sense to reduce the frequency of the flush calls, thoughts? > > - I've spotted a third candidate which looks pretty solid, actually: > WalSndWaitForWal() before WalSndWait(). This leads to 2.9k reports in > the whole test suite, with much less contention in the reports. These > can still be rather frequent, up to ~50 calls per seconds, but that's > really less than the two others. > > Stats data is useful as long as it is possible to get an idea of how > the system behaves, particularly with a steady workload. More > frequent reports are useful for spikey data detection, showing more > noise. Still, too many reports may cause the part gathering the > reports to become a bottleneck, while we want it to offer hints about > bottlenecks. So I would argue in favor of a more conservative choice > in the back branches than what the patch is proposing. Yeah, fully agree. Anyway, having so many frequent stats reports makes little sense. > Choice 3 i'm > quoting above is tempting by design: not too much, still frequent > enough to offer enough relevant information in the stats. Yeah, I also agree that we should reduce the number of "reports". I'll look at the third option. Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com
Commits
-
Flush the IO statistics of active WAL senders more frequently
- e2a82cd23a88 16.9 landed
- 5cbbe70a9cc6 17.5 landed
- 039549d70f6a 18.0 landed
-
Optimize check for pending backend IO stats
- 6d3ea48ff1ae 18.0 landed