Alvaro Herrera <alvhe...@commandprompt.com> writes:
> Tom Lane wrote:
>> Still meditating on this ... and it strikes me that the pgstat.c code
>> is really uncommunicative about problems.  In particular, 
>> pgstat_read_statsfile_timestamp and pgstat_read_statsfile don't complain
>> at all about being unable to read a stats file.

> Yeah, I had the same thought.

OK, I'll add some logging.

>> Lastly, backend_read_statsfile is designed to send an inquiry message
>> every time through the loop, ie, every 10 msec.  This is said to be in
>> case the stats collector drops one.  But is this enough to flood the
>> collector and make things worse?  I wonder if there should be some
>> backoff there.

> I also think the autovacuum worker minimum timestamp may be playing
> games with the retry logic too.  Maybe a worker is requesting a new file
> continuously because pgstat is not able to provide one before the
> deadline is past, and thus overloading it.  I still think that 500ms is
> too much for a worker, but backing off all the way to 10ms seems too
> much.  Maybe it should just be, say, 100ms.

But we don't advance the deadline within the wait loop, so (in theory)
a single requestor shouldn't be able to trigger more than one stats file
update.  I wonder though if an autovac worker could make many such
requests over its lifespan ...

                        regards, tom lane

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to