On Feb 15, 2008, at 12:06 PM, Josh Berkus wrote:
> On Friday 15 February 2008 06:29, Greg Smith wrote:
>> PostgreSQL only uses direct I/O for writing to the WAL; everything
>> else
>> goes through the regular OS buffer cache unless you force it to do
>> otherwise at the OS level (like some Solaris setups do with
>> forcedirectio).
>
> Also, note that even when direct I/O is available, most users and
> benchmark
> tests have reported that having PostgreSQL "take over" the entire
> cache is
> not a net performance gain. I believe this is mostly because our I/
> O and
> caching code aren't designed for this kind of operation.
>
> I believe that MyEmma had a different experience on their workload,
> though.
Actually, while we did have shared_buffers set to 4G on an 8G system
when we were running with forcedirectio, the decision to even run
with forcedirectio was a temporary until we were able (welll, forced
to) migrate to a new system with a sane drive configuration. The old
set up was done horribly by a sysadmin who's no longer with us who
set us up with a RAID5 array with both the data and xlogs both
mirrored across all of the disks with no spares. So, I wouldn't
consider the numbers I was seeing then a reliable expectation as that
system was nowhere close to ideal. We've seen much more sane and
consistent numbers on a more normal setup, i.e. without forcedirectio
and with <= 25% system memory.
Erik Jones
DBA | Emma®
erik@myemma.com
800.595.4401 or 615.292.5888
615.292.0777 (fax)
Emma helps organizations everywhere communicate & market in style.
Visit us online at http://www.myemma.com