Re: Stats collection on Windows
От | Magnus Hagander |
---|---|
Тема | Re: Stats collection on Windows |
Дата | |
Msg-id | 6BCB9D8A16AC4241919521715F4D8BCEA35258@algol.sollentuna.se обсуждение исходный текст |
Ответ на | Stats collection on Windows ("Peter Brant" <Peter.Brant@wicourts.gov>) |
Ответы |
Re: Stats collection on Windows
|
Список | pgsql-hackers |
> > Search for "is known to be dead, ignoring" to find the > re-used process > > IDs. Things start out clean, but after a few cycles > anywhere between > > 1 and 5 backends are being missed. > > Looking at the pgstats code, I notice that once it makes an > entry in the dead-backends hashtable, it keeps that entry > (rejecting any messages with the same PID) for 10 seconds. > That seems like approximately forever on modern machines, > certainly much more than any plausible out-of-order condition > in the UDP packet stream. It could easily be enough to get > us in trouble on Unix machines, never mind Windows. > > A conservative suggestion would be to trim down the destroy interval. > A more radical one is to question whether we need the destroy > delay mechanism at all. What if we got rid of all that logic > and simply let the collector delete stuff when it's told to? > Out-of-order messages could cause entries to be re-created > after they've been deleted, but I'm not sure that I see any > harm in that. Bogus DB and table entries are already ignored > in the pgstats views (because they won't join to anything in > the system catalogs) and we also have a filter for bogus > backend entries. There are also mechanisms that ensure these > entries will go away eventually: pgstat_vacuum_tabstat for DB > and table entries, and eventual re-use of a BackendId slot > for backends. > So I'm sort of thinking that the destroy delay has outlived > its usefulness. After reviewing my own patch I just sent in (stats write delay), I realised I had just upped that from 10 seconds to 5 minutes. Which is then even longer than forever :) Which prompted me to consider suggesting just this - do we really need the destroy functionality. From what I could tell it did look reasonable to get rid of it for these reasons. //Magnus
В списке pgsql-hackers по дате отправления: