Thread: Performance of PostgreSQL over NFS

Performance of PostgreSQL over NFS

From
Mladen Gogala
Date:
I was asked about performance of PostgreSQL on NetApp, the protocol
should be NFSv3.  Has anybody tried it? The database in question is a DW
type, a bunch of documents indexed by Sphinx. Does anyone have any
information?
--


Mladen Gogala
Sr. Oracle DBA
1500 Broadway
New York, NY 10036
(212) 329-5251
http://www.vmsinfo.com
The Leader in Integrated Media Intelligence Solutions




Re: Performance of PostgreSQL over NFS

From
Rich
Date:
I am wondering why anyone would do that?  Too much overhead and no reliable enough.

On Tue, Dec 21, 2010 at 2:28 PM, Mladen Gogala <mladen.gogala@vmsinfo.com> wrote:
I was asked about performance of PostgreSQL on NetApp, the protocol should be NFSv3.  Has anybody tried it? The database in question is a DW type, a bunch of documents indexed by Sphinx. Does anyone have any information?
--


Mladen Gogala Sr. Oracle DBA
1500 Broadway
New York, NY 10036
(212) 329-5251
http://www.vmsinfo.com The Leader in Integrated Media Intelligence Solutions




--
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

Re: Performance of PostgreSQL over NFS

From
Mladen Gogala
Date:
Rich wrote:
> I am wondering why anyone would do that?  Too much overhead and no
> reliable enough.

Apparently, NetApp  thinks that  it is reliable. They're selling that
stuff  for years.  I know that Oracle works with NetApp, they even have
their own user mode NFS client driver, I am not sure about PostgreSQL.
Did anybody try that?

--
Mladen Gogala
Sr. Oracle DBA
1500 Broadway
New York, NY 10036
(212) 329-5251
http://www.vmsinfo.com
The Leader in Integrated Media Intelligence Solutions




Re: Performance of PostgreSQL over NFS

From
Greg Smith
Date:
Mladen Gogala wrote:
> Rich wrote:
>> I am wondering why anyone would do that?  Too much overhead and no
>> reliable enough.
>
> Apparently, NetApp  thinks that  it is reliable. They're selling that
> stuff  for years.  I know that Oracle works with NetApp, they even
> have their own user mode NFS client driver, I am not sure about
> PostgreSQL. Did anybody try that?
>

You have hit upon the crucial distinction here.  In order for NFS to
work well, you need a rock solid NFS server.  NetApp does a good job
there.  You also need a rock solid NFS client, configured perfectly in
order to eliminate the risk of corruption you get if the NFS
implementation makes any mistake in handling sync operations or error
handling.  The issue really isn't "will PostgreSQL performance well over
NFS?".  The real concern is "will my data get corrupted if my NFS client
misbehaves, and how likely is that to happen?"  That problem is scary
enough that whether or not the performance is good is secondary.  And
unlike Oracle, there hasn't been much full end to end integration to
certify the reliability of PostgreSQL in this context, the way
NetApp+Oracle has worked out those issues.  It's hard to most of us to
even justify that investigation, given that NFS and NetApp's offerings
that use it feel like legacy technologies, ones that are less relevant
every year.

--
Greg Smith   2ndQuadrant US    greg@2ndQuadrant.com   Baltimore, MD
PostgreSQL Training, Services and Support        www.2ndQuadrant.us
"PostgreSQL 9.0 High Performance": http://www.2ndQuadrant.com/books


Re: Performance of PostgreSQL over NFS

From
Jignesh Shah
Date:
On Mon, Jan 3, 2011 at 9:28 PM, Greg Smith <greg@2ndquadrant.com> wrote:
> Mladen Gogala wrote:
>>
>> Rich wrote:
>>>
>>> I am wondering why anyone would do that?  Too much overhead and no
>>> reliable enough.
>>
>> Apparently, NetApp  thinks that  it is reliable. They're selling that
>> stuff  for years.  I know that Oracle works with NetApp, they even have
>> their own user mode NFS client driver, I am not sure about PostgreSQL. Did
>> anybody try that?
>>
>
> You have hit upon the crucial distinction here.  In order for NFS to work
> well, you need a rock solid NFS server.  NetApp does a good job there.  You
> also need a rock solid NFS client, configured perfectly in order to
> eliminate the risk of corruption you get if the NFS implementation makes any
> mistake in handling sync operations or error handling.  The issue really
> isn't "will PostgreSQL performance well over NFS?".  The real concern is
> "will my data get corrupted if my NFS client misbehaves, and how likely is
> that to happen?"  That problem is scary enough that whether or not the
> performance is good is secondary.  And unlike Oracle, there hasn't been much
> full end to end integration to certify the reliability of PostgreSQL in this
> context, the way NetApp+Oracle has worked out those issues.  It's hard to
> most of us to even justify that investigation, given that NFS and NetApp's
> offerings that use it feel like legacy technologies, ones that are less
> relevant every year.
>
> --
> Greg Smith   2ndQuadrant US    greg@2ndQuadrant.com   Baltimore, MD

Well there is a reason why Oracle and folks spend millions of dollars
in NFS and this was before they bought Sun and got NFS hardware
products in the acquisition.

The answer is economics. The faster fiber optics is currently 8Gbps
while ethernet is 10Gbps. Fiber is trying to leapfrog with faster ones
but in the meanwhile 10Gbps switches are now affordable. That said for
people who want "Multi-host" storage or "Shared-Storage" however you
look at it, NFS seems to be very economical compared to expensive
fiber SAN solutions. So while onboard RAID cards give you great
performance it still doesnt give you the option of the single point of
failure.. your server. NFS solves that problem for many small
enterprises inexpensively.  Yes I agree that your NFS client has to be
rock solid. If not select the right OS but yes NFS has a fanfare out
there.

That said I have tested with NFS with Solaris as well as VMware's ESX
server. NFS on Solaris had to be tweaked with right rw window sizes
for PostgreSQL write sizes and jumbo frames to get the performance on
10GB networks out and it was pretty good with multiple connections
(single connections had limits on how much it can pull/push) on
Solaris. (Of course this was couple of years ago.)

On vSphere ESX mostly it was transparent to PostgreSQL since it was
all hidden by ESX to the guest VMs.

My 2 cents.

Regards,
Jignesh