Re: Manual vacs 5x faster than autovacs?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Nov 12, 2009 at 9:14 AM, Wayne Beaver <wayne@xxxxxxxxxx> wrote:
> Hmm, looks like I've been myth-busted here.
>
> $ top | grep -E '29343|31924|29840|PID'; echo
>  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
> 29840 postgres  15   0 2150m 203m 194m S    0  2.5   0:00.59 postmaster
> 29343 postgres  15   0 2137m 360m 356m S    1  4.5   0:00.92 postmaster
> 31924 postgres  15   0 2135m  73m  70m S    1  0.9   0:00.44 postmaster
>
> So my claims of resource-usage appear incorrect.
>
> I'd seen autovacs running for hours and had mis-attributed this to growing
> query times on those tables  - my thought was that "shrinking" the tables
> "more quickly" could make them "more-optimized", more often. Sounds like I
> could be chasing the wrong symptoms, though.

Now it is quite possible that a slow autovac is causing your queries
to run slower.  And it's that autovac isn't keeping up.  One of the
verious serious shortcomings of autovac in 8.1 (or was it 8.0?  I
think it was 8.1 as well) was that it only had one worker thread.  So,
if it has a moderate to high cost delay, then it might be able to keep
up with the job and your tables will become bloated.

The problem isn't that autovac is stealing too many resources, it's
that it's not stealing enough.

The first quick fix is 8.3 which has more efficient vacuuming code and
the ability to run > 1 thread (it defaults to 3) so you can still keep
it "detuned" to stay out of the way, but with enough threads it can
hopefully keep up.

Of course, eventually you reach the point where as the work load rises
the ability of autovac to keep up is lost, and then you need more IO
period.  Whether pgsql or any other database, running out of io
bandwidth is only really solvable by more IO bandwidth.

So, what does iostat -x 10

say about utilization?

-- 
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance


[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux