Re: Vacuums on large busy databases - Mailing list pgsql-performance

From Jeff Davis
Subject Re: Vacuums on large busy databases
Date
Msg-id 1158269788.29889.140.camel@dogma.v10.wvs
Whole thread Raw
In response to Vacuums on large busy databases  (Francisco Reyes <lists@stringsutils.com>)
List pgsql-performance
On Thu, 2006-09-14 at 11:23 -0400, Francisco Reyes wrote:
> My setup:
> Freebsd 6.1
> Postgresql 8.1.4
> Memory: 8GB
> SATA Disks
>
> Raid 1 10 spindles (2 as hot spares)
> 500GB disks (16MB buffer), 7200 rpm
> Raid 10
>
> Raid 2 4 spindles
> 150GB 10K rpm disks
> Raid 10
>
> shared_buffers = 10000

Why so low? You have a lot of memory, and shared_buffers are an
important performance setting. I have a machine with 4GB of RAM, and I
found my best performance was around 150000 shared buffers, which is a
little more than 1GB.

The default value of 1000 was chosen so that people who use PostgreSQL
only incidentally among many other programs do not notice an impact on
their system. It should be drastically increased when using PostgreSQL
on a dedicated system, particularly with versions 8.1 and later.

Also, a VACUUM helps a table that gets UPDATEs and DELETEs. If you're
doing mostly inserts on a big table, there may be no need to VACUUM it 3
times per day. Try VACUUMing the tables that get more UPDATEs and
DELETEs more often, and if a table has few UPDATEs/DELETEs, VACUUM it
only occasionally. You can run ANALYZE more frequently on all the
tables, because it does not have to read the entire table and doesn't
interfere with the rest of the operations.

Regards,
    Jeff Davis


pgsql-performance by date:

Previous
From: "Craig A. James"
Date:
Subject: Re: RAID 0 not as fast as expected
Next
From: Jérôme BENOIS
Date:
Subject: Re: High CPU Load