Re: Index degradation

From: Keith Fiske <keith(dot)fiske(at)crunchydata(dot)com>
To: Alex Balashov <abalashov(at)evaristesys(dot)com>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: Index degradation
Date: 2019-11-07 20:26:16
Message-ID: CAODZiv4mqbj+c-=ogqL2beGHUjQ0tftCc-KAoy9yL--38Y=mHA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

This sounds like index bloat, and yes you can monitor for it. I've written
some blog posts both on detection and cleanup procedures as well as been
working on a tool to make monitoring for it easier.

https://www.keithf4.com/checking-for-postgresql-bloat/
https://www.keithf4.com/cleaning-up-postgresql-bloat/
https://github.com/keithf4/pg_bloat_check

Also, to help mitigate this problem in the future, you can try and tune
autovacuum to run on said tables so that space is marked as reusable on a
regular enough basis that new inserts/updates can make use of it more
efficiently. The following blog post talks about how to tune autovacuum for
wrap-around, but this is applicable to tuning it to avoid bloat as well.
Note this only really helps with gradual changes to tables. Sudden large
purging of a table with deletes, or mass updates, are going to leave more
empty space that autovacuum can really be tuned for. In such cases, you
should always follow up said operations with a manual vacuum and bloat
cleanup as needed.

https://www.keithf4.com/per-table-autovacuum-tuning/

Hope that helps!

On Thu, Nov 7, 2019 at 2:33 PM Alex Balashov <abalashov(at)evaristesys(dot)com>
wrote:

> Over a period of some years, particularly in tables whose contents
> periodically get swapped out entirely (i.e. lots of dead rows), indexes
> slowly degrade, pushing query latency up.
>
> Is there a way to detect this condition short of just monitoring
> statement latency, so as to know when to REINDEX / build new indexes?
>
> --
> Alex Balashov | Principal | Evariste Systems LLC
>
> Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
> Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
>
>
>

--
Keith Fiske
Senior Database Engineer
Crunchy Data - http://crunchydata.com

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Grigory Smolkin 2019-11-07 22:37:03 Re: Database consistency check.
Previous Message Scott Ribe 2019-11-07 19:52:17 Re: Database consistency check.