Re: Add database to PGXACT / per database vacuuming
От | Heikki Linnakangas |
---|---|
Тема | Re: Add database to PGXACT / per database vacuuming |
Дата | |
Msg-id | 5220E133.3030109@vmware.com обсуждение исходный текст |
Ответ на | Re: Add database to PGXACT / per database vacuuming (Heikki Linnakangas <hlinnakangas@vmware.com>) |
Список | pgsql-hackers |
On 30.08.2013 21:07, Heikki Linnakangas wrote: > On 30.08.2013 19:01, Andres Freund wrote: >> For the logical decoding patch I added support for pegging >> RecentGlobalXmin (and GetOldestXmin) to a lower value. To avoid causing >> undue bloat& cpu overhead (hot pruning is friggin expensive) I split >> RecentGlobalXmin into RecentGlobalXmin and RecentGlobalDataXmin where >> the latter is the the xmin horizon used for non-shared, non-catalog >> tables. That removed almost all overhead I could measure. >> >> During that I was tinkering with the idea of reusing that split to >> vacuum/prune user tables in a per db fashion. In a very quick and hacky >> test that sped up the aggregate performance of concurrent pgbenches in >> different databases by about 30%. So, somewhat worthwile ;). >> >> The problem with that is that GetSnapshotData, which computes >> RecentGlobalXmin, only looks at the PGXACT structures and not PGPROC >> which contains the database oid. This is a recently added optimization >> which made GetSnapshotData() quite a bit faster& scalable which is >> important given the frequency it's called at. > > Hmm, so you're creating a version of GetSnapshotData() that only takes > into account backends in the same backend? I mean, only takes account backends in the same database? - Heikki
В списке pgsql-hackers по дате отправления: