Re: Linux v.s. Mac OS-X Performance

Greg Smith <gsmith@gregsmith.com>

From: Greg Smith <gsmith@gregsmith.com>
To: Wolfgang Keller <wolfgang.keller.privat@gmx.de>
Cc: pgsql general <pgsql-general@postgresql.org>
Date: 2007-11-28T01:35:30Z
Lists: pgsql-general
On Tue, 27 Nov 2007, Wolfgang Keller wrote:

> Anyway, how does MacOS X (both 10.4 and 10.5) compare to Windows (2000, 
> XP, Vista etc.) on the same hardware? And Linux to (Free-/Net-/whatever) 
> BSD?

Apple hardware gets so expensive for some types of database configurations 
that such a comparision doesn't even make a lot of sense.  For example, if 
you have an application that needs high database write throughput, to make 
that work well with PostgreSQL you must have a controller with a battery 
backed cache.  If I have a PC, the entry-level solution in that category 
can be a random sub-$1000 system that runs Linux plus around $400 for a 
RAID card with BBC, and you've got multiple vendors to consider there 
(3Ware, Areca, LSI Logic, etc.)

To do something similar with Apple hardware, you can get a Mac Pro and add 
their RAID card, at $3500 (early reports suggest even that may have 
serious problems, see http://forums.macrumors.com/showthread.php?t=384459 
). Or you can pick up an XServe RAID, but now you're talking $6350 because 
the smallest configuration is 1TB.  The amount of server you can buy for 
$3500+ running Linux is going to be much more powerful than its Apple 
equivilant.  Sure, you can run a trivial workload that features minimal 
writes even on a Mac Mini, but I don't see a lot of value to considering a 
platform where the jump to the cheapest serious server configuration is so 
big.

Also, in previous generations, the Mach kernel core of Mac OS had some 
serious performance issues for database use even in read-heavy workloads: 
http://www.anandtech.com/mac/showdoc.aspx?i=2520&p=5 There are claims this 
is improved in current systems (Leopard + Intel), but the margin was so 
big before I would need some pretty hard proof to believe they've even 
achieved parity with Linux/FreeBSD on the same hardware, and even then the 
performance/dollar is unlikely to be competative.

> I'm just wondering whether the performance gain is worth the learning 
> effort required for Linux or BSD compared to the Mac.

On both Windows (where you get limitations like not being able to set a 
large value for shared_buffers) and Mac OS X, PostgreSQL has enough 
performance issues that I feel using those plaforms can only be justified 
if platform compatibility is more important than performance to you.  The 
minute performance becomes a serious concern, you'd be much better off 
with Linux, one of the BSDs that's not hobbled by using the Mach kernel, 
or one of the more serious UNIXes like Solaris.

--
* Greg Smith gsmith@gregsmith.com http://www.gregsmith.com Baltimore, MD