Re: Berserk Autovacuum (let's save next Mandrill)
Chris Travers <chris.travers@adjust.com>
From: Chris Travers <chris.travers@adjust.com>
To: Andres Freund <andres@anarazel.de>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>, Darafei Komяpa Praliaskouski <me@komzpa.net>, Michael Banck <mbanck@gmx.net>, David Rowley <david.rowley@2ndquadrant.com>, PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2019-04-11T09:25:29Z
Lists: pgsql-hackers
On Wed, Apr 10, 2019 at 5:21 PM Andres Freund <andres@anarazel.de> wrote: > Hi, > > On April 10, 2019 8:13:06 AM PDT, Alvaro Herrera <alvherre@2ndquadrant.com> > wrote: > >On 2019-Mar-31, Darafei "Komяpa" Praliaskouski wrote: > > > >> Alternative point of "if your database is super large and actively > >written, > >> you may want to set autovacuum_freeze_max_age to even smaller values > >so > >> that autovacuum load is more evenly spread over time" may be needed. > > > >I don't think it's helpful to force emergency vacuuming more > >frequently; > >quite the contrary, it's likely to cause even more issues. We should > >tweak autovacuum to perform freezing more preemtively instead. > > I still think the fundamental issue with making vacuum less painful is > that the all indexes have to be read entirely. Even if there's not much > work (say millions of rows frozen, hundreds removed). Without that issue we > could vacuum much more frequently. And do it properly in insert only > workloads. > So I see a couple of issues here and wondering what the best approach is. The first is to just skip lazy_cleanup_index if no rows were removed. Is this the approach you have in mind? Or is that insufficient? The second approach would be to replace the whole idea of this patch with a lazy freeze worker which would basically periodically do a vacuum freeze on relations matching certain criteria. This could have a lower max workers than autovacuum and therefore less of a threat in terms of total IO usage. Thoughts? > > > Andres > -- > Sent from my Android device with K-9 Mail. Please excuse my brevity. > > > -- Best Regards, Chris Travers Head of Database Tel: +49 162 9037 210 | Skype: einhverfr | www.adjust.com Saarbrücker Straße 37a, 10405 Berlin
Commits
-
Further improve stability fix for partition_aggregate test.
- 18d85e9b8a2b 13.0 landed
-
Improve stability fix for partition_aggregate test.
- 7cb0a423f914 13.0 landed
-
Attempt to stabilize partitionwise_aggregate test
- cefb82d49e21 13.0 landed
-
Fix race condition in statext_store().
- fe3036527a1f 13.0 landed
- 6c426cd43790 12.3 landed
-
Attempt to fix unstable regression tests, take 2
- 24566b359d09 13.0 landed
-
Attempt to fix unstable regression tests
- 2dc16efedc76 13.0 landed
-
Trigger autovacuum based on number of INSERTs
- b07642dbcd8d 13.0 landed
-
Fix upper limit for vacuum_cleanup_index_scale_factor
- 4d54543efa5e 11.0 cited