From: | Greg Smith <greg(at)2ndquadrant(dot)com> |
---|---|
To: | Bill Todd <pg(at)dbginc(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Excessive (and slow) fsync() within single transaction |
Date: | 2009-12-11 02:14:22 |
Message-ID: | 4B21AAFE.40208@2ndquadrant.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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(at)2ndQuadrant(dot)com www.2ndQuadrant.com
From | Date | Subject | |
---|---|---|---|
Next Message | Stephen Tyler | 2009-12-11 02:38:24 | Re: Excessive (and slow) fsync() within single transaction |
Previous Message | Jason Foster | 2009-12-11 01:57:43 | Using Full Text Search to create TurnItIn light |