Re: Excessive (and slow) fsync() within single transaction - Mailing list pgsql-general

From Greg Smith
Subject Re: Excessive (and slow) fsync() within single transaction
Date
Msg-id 4B21AAFE.40208@2ndquadrant.com
Whole thread Raw
In response to Re: Excessive (and slow) fsync() within single transaction  (Bill Todd <pg@dbginc.com>)
List pgsql-general
Bill Todd wrote:
> What are the two best platforms for PostgreSQL in your opinion?
There are three good platforms, each with a different set of strengths
and weaknesses:

-Linux:  Lots of driver support even for very recent things available.
Really broad universe of available add-on packages.  Performance is good
but a little "choppy"--it's not impossible to find situations where it
degrades in somewhat odd ways.  Stability is quite variable too, you
need to carefully stage your updates.

-FreeBSD:  More stable and predictable performance than Linux, which in
some cases even turns out to be better overall.  But driver support lags
behind, and in general you have to be more careful about what hardware
you match it with.  Much smaller user community when you do run into a
strange performance issue too.

-Solaris:  Performance is quite steady and predictable, but sometimes
not quite as fast as FreeBSD/Linux.  Driver support isn't impressive,
but it tends to cover the things you need for a boring database server
well enough (and the drivers don't break at random after kernel upgrades
like on Linux), and it's usually quite clear what will and won't work.
Has great, complete implementations of some high-end features
particularly well suited for larger systems like ZFS, DTrace (the
FreeBSD versions of those aren't quite as good yet).  Software package
availability is still quite weak compared with the alternatives, and
even after spending a fair amount of time with Solaris over the years I
still find it much harder to manage too.

I was picking on Mac OS X for a couple of reasons:

-Worst driver support of anything--very few viable options for RAID
controllers for example

-Kernel tuned for GUI apps rather than server ones.  I haven't seen much
on this recently, but older comparisons made the Darwin kernel look
extremely bad compared with Linux on process creation and complicated
memory allocation work in particular--stuff you need in a database but
don't really care about in most user apps.  I think people stopped even
running these tests because it made OS X look so bad.

-Traditional UNIX low-level tools and approaches are either weak or not
available.  I spent a fair amount of time looking around and I still
can't tell you how to tweak the write cache choices on OS X.  The mount
options I almost always tweak on other platforms don't even exist on
HFS+, you can't work around the problems with the friendly defaults.
Apple's vm_stat, iostat, and sar are pretty poor too.  Sure, you get
possibly the best DTrace analysis tool there is, and a nice GUI
monitoring app too; great.  That's only helpful if you get the basics
right first.

--
Greg Smith    2ndQuadrant   Baltimore, MD
PostgreSQL Training, Services and Support
greg@2ndQuadrant.com  www.2ndQuadrant.com


pgsql-general by date:

Previous
From: Jason Foster
Date:
Subject: Using Full Text Search to create TurnItIn light
Next
From: Stephen Tyler
Date:
Subject: Re: Excessive (and slow) fsync() within single transaction