From: | "Benjamin Krajmalnik" <kraj(at)illumen(dot)com> |
---|---|
To: | "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Peter Eisentraut" <peter_e(at)gmx(dot)net> |
Cc: | <pgsql-admin(at)postgresql(dot)org> |
Subject: | Re: Unexplained growth of tables |
Date: | 2006-07-24 16:25:37 |
Message-ID: | BF337097BDD9D849A2F4B818DDB279870294A4@stash.stackdump.local |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
Thaks to all who helped on this one, for I was going insane.
I am now auto_vacuuming every 30 seconds, and have cheanged the
para,eters so the vacuuming takes place much more aggressively.
Performance has increased and table size appears to have been addressed.
For the newbies like myself who may make the same mistake .....
I assumed that auto_vacuum was going to adversely affect perfromance if
it ran often, so I extended the time between atovacuum cycles.
BIG MISTAKE!
I assume in many applicatios the net effet may not be huge, but in our
application where currently we have more than 10 million insert/update
transactions per day, it definitaly made a difference.
I pulled my hair long on this one until the light bulb came on and I
figured out it must be related to MVCC and the vast amount of change to
the database at any given time.
Once again, thanks to all of you who were kind enough to point me in the
right direction.
> -----Original Message-----
> From: pgsql-admin-owner(at)postgresql(dot)org
> [mailto:pgsql-admin-owner(at)postgresql(dot)org] On Behalf Of
> Benjamin Krajmalnik
> Sent: Sunday, July 23, 2006 2:06 PM
> To: Tom Lane; Peter Eisentraut
> Cc: pgsql-admin(at)postgresql(dot)org
> Subject: Re: [ADMIN] Unexplained growth of tables
>
> I am running 8.1.4 on Windows.
> Quick question - I assume CLUSTER will lock the tables, correct?
> In my scenario where the number of live rows is very small
> but the number of dead rows is huge, how long will tis take?
> I have a problem in that this database is a live monitoring
> system which I cannot take down for too long.
>
> The only database on this server (other than the postgres
> database) is this database.
> From your experience, based on the activity of this database,
> how often should I run autovacuum?
>
>
> > -----Original Message-----
> > From: Tom Lane [mailto:tgl(at)sss(dot)pgh(dot)pa(dot)us]
> > Sent: Sunday, July 23, 2006 11:48 AM
> > To: Peter Eisentraut
> > Cc: pgsql-admin(at)postgresql(dot)org; Benjamin Krajmalnik
> > Subject: Re: [ADMIN] Unexplained growth of tables
> >
> > Peter Eisentraut <peter_e(at)gmx(dot)net> writes:
> > > Benjamin Krajmalnik wrote:
> > >> What can be causing this growth? Not vacuuming often enough?
> >
> > > The is exactly the reason.
> >
> > >> I hav
> > >> pg_autovacuum running every 60 seconds. These tables have 10-15
> > >> insert/update statements per second.
> >
> > > You should probably run VACUUM FULL to get the table back
> > to a normal
> > > size and then closely monitor what pg_autovacuum actually does.
> >
> > CLUSTER might be a better answer, since VACUUM FULL won't
> do anything
> > to help shrink the indexes.
> >
> > As for the pg_autovacuum frequency, realize that pg_autovacuum
> > processes one database per firing. So if you have N databases, any
> > one database is going to be looked at every N*60 seconds,
> not every 60
> > seconds.
> > You might need a shorter autovacuum cycle.
> >
> > Lastly, what PG version is this? We had some bugs that kept
> > autovacuum from being fully informed in some cases, but
> AFAIK they're
> > all fixed in the latest minor releases.
> >
> > regards, tom lane
> >
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 6: explain analyze is your friend
>
From | Date | Subject | |
---|---|---|---|
Next Message | Kevin Keith | 2006-07-24 16:27:25 | Alter table set statistics with partitioned tables |
Previous Message | Stephan Szabo | 2006-07-24 16:20:57 | Re: Circular Dependency in Tables and Deletion of Data |