Re: Autovacuum not functioning for large tables but it is working for few other small tables. - Mailing list pgsql-performance

From Laurenz Albe
Subject Re: Autovacuum not functioning for large tables but it is working for few other small tables.
Date
Msg-id 96ac94b7d5f5be3e03e94f21253ae4220c01f0ee.camel@cybertec.at
Whole thread Raw
In response to RE: Autovacuum not functioning for large tables but it is working for few other small tables.  (M Tarkeshwar Rao <m.tarkeshwar.rao@ericsson.com>)
List pgsql-performance
On Fri, 2021-02-19 at 10:51 +0000, M Tarkeshwar Rao wrote:
> Please find the Vacuum(verbose) output. Can you please suggest what is the reason?
> How can we avoid these scenarios?
> 
> The customer tried to run the VACUUM(verbose) last night, but it was running
>  continuously for 5 hours without any visible progress. So they had to abort it
>  as it was going to exhaust their maintenance window.
> 
> db_Server14=# VACUUM (VERBOSE) audittraillogentry;
> INFO:  vacuuming "mmsuper.audittraillogentry"
> INFO:  scanned index "audittraillogentry_pkey" to remove 11184539 row versions
> DETAIL:  CPU 25.24s/49.11u sec elapsed 81.33 sec
> INFO:  scanned index "audit_intime_index" to remove 11184539 row versions
> DETAIL:  CPU 23.27s/59.28u sec elapsed 88.63 sec
> INFO:  scanned index "audit_outtime_index" to remove 11184539 row versions
> DETAIL:  CPU 27.02s/55.10u sec elapsed 92.04 sec
> INFO:  scanned index "audit_sourceid_index" to remove 11184539 row versions
> DETAIL:  CPU 110.81s/72.29u sec elapsed 260.71 sec
> [and so on, the same 6 indexes are repeatedly scanned]

PostgreSQL performs VACUUM in batches of "maintenance_work_mem" size
of tuple identifiers.  If that parameter is small, the indexes have
to be scanned often.

Try increasing "maintenance_work_mem" to 1GB (if you have enough RAM),
that will make it faster.

Yours,
Laurenz Albe
-- 
Cybertec | https://www.cybertec-postgresql.com




pgsql-performance by date:

Previous
From: M Tarkeshwar Rao
Date:
Subject: RE: Autovacuum not functioning for large tables but it is working for few other small tables.
Next
From: Marcin Gozdalik
Date:
Subject: Extremely inefficient merge-join