Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Jun 2002 09:57:55 -0400
From:      Matt Simerson <freebsd@blockads.com>
To:        hackers@freebsd.org
Cc:        Dan Ellard <ellard@eecs.harvard.edu>
Subject:   Re: FreeBSD NFS server benchmarks vs. OpenBSD, NetBSD?
Message-ID:  <E2B9BDC5-851E-11D6-963B-00306553B5E4@blockads.com>
In-Reply-To: <3D129A60.99AA2608@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Terry makes some very excellent points that I've tested and documented 
in "Real Life". Two years ago I did a bunch of extensive testing between 
three NFS servers (Sun, FreeBSD, NetApp) and one set of NFS clients 
(FreeBSD). Anyone that knows NFS really well would have predicted our 
test results that demonstrated the FreeBSD NFS server as being the best 
performer. The FreeBSD system was a "home build" with a GigE card, tuned 
MTU, large window, etc... running on a Cisco GigE switch.

It solidly outperformed every other NFS server. If you were to have used 
Solaris clients, it's quite likely that one of the other two servers 
would have outperformed the FreeBSD server. Tuning the NFS server and 
the clients also has enormous potential for improvement. It took dozens 
of iterations to find the ideal combination of MTU size, nfsiod clients, 
nfsd servers, in the mail cluster I build. However, the engineering 
effort held large dividends. That mail system is still in use, seldom 
touched by human hands. It's withstood mail storms, DoS attacks, and 
many other network events that have been catastrophic to some of our 
other mail systems.

Your best bet is to take a look at each of the platforms and determine 
which suits your needs best. Once you've etched that in stone, install 
your OS of choice and start tuning it to best suit your environment.

The above is all unbiased. I personally have used quite a few NFS 
systems, a few more than I'd like to have. Many others will have 
opinions but here are mine:

    BSDI has, IMHO, one of the finest NFS implementations anywhere. I've 
used it extensively with NT, Mac OS, Mac OS X, BSDI, FreeBSD, Linux, and 
Solaris clients. As of BSDI 4.0/4.1 (IIRC) it supported NFS locking and 
worked VERY, VERY well with BSDI clients (as should be expected). I 
don't know how it's doing these days, I've dropped off the BSDI mailing 
lists and stopped using it in favor of FreeBSD.

    FreeBSD has very solid NFS code in addition to being a very robust, 
versatile, and downright fun operating system. It's very easy to do 
everything I want to with FreeBSD. It's NFS is missing locking support 
but it's very fast and works very well with FreeBSD and Mac OS X 
clients. I haven't used it with anything else.

    OpenBSD and NetBSD both fall into the same category in my book. Both 
OS's attack a niche that is too narrow for my purposes. I've installed 
NetBSD on a HP 9000, Mac IIci, and Intel hardware and, it works, but I 
couldn't ever easily do anything useful with them. OpenBSD is OpenBSD 
and life is too short to fight some battles.

    Sun wrote the book on NFS. They also missed the boat. NFS on Sun is 
reliable and works well with Sun NFS clients. Good luck with anything 
else. Performance has never been a feature of Sun's NFS implementation 
so keep shopping if you care about it.

    Linux NFS sucks. Some will point out that it's made LOTs of progress. 
They should also note there's a long ways to go. Linux NFS interaction 
with NetApp, FreeBSD, and Sun NFS servers is very problematic and never 
achieves "good" performance.

Matt

On Thursday, June 20, 2002, at 11:15  PM, Terry Lambert wrote:

> Dan Ellard wrote:
>> Has anyone done a side-by-side benchmark of the FreeBSD, OpenBSD, and
>> NetBSD NFS servers on the same hardware?  Note that I'm interested in
>> server performance, not client performance.
>>
>> I'm particularly interested in read performance, but anything would be
>> interesting.
>>
>> In lieu of actual data, which system do people think makes the best
>> NFS server for heavily-loaded systems?
>
> I don't think anyone has benchmarked this; if they had, color me
> astonished.
>
> Your best bet would be to compare them yourself, since it's not
> that hard to install them.
>
> FWIW, You can't seperate server and client performance.  If you
> have two clients and two servers, the first client caches operation
> X, and the second client does not, and you have two servers, one
> where operation X is very fast, and reads are OK, and the other
> where operation X is very slow, but reads are slightly faster than
> just "OK", which one shows up as being better is going to depend in
> the client you use in the benchmarks.
>
> If you're asking about a server and not a client, then you would
> be better of asking about the particular client by name vs. each
> of the possible server choices.
>
> PS: Your answers are going to differ based on UDP vs. TCP and
> rsize/wsize.  In particular, if you need to have an rsize/wsize
> larger than the MTU, make sure you are using TCP, not UDP, or
> you will be shooting yourself in the foot (most Linux clients
> wonder why when they use UDP, their nubers go to hell; that's
> why).
>
> -- Terry
>
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-hackers" in the body of the message
>
``````````````````````````````````````````````````````````````````
   Matt Simerson           msimerson@interland.com
   Unix Systems Engineer                   Interland, Inc.

     -- I drive too fast to worry about cholesterol.
``````````````````````````````````````````````````````````````````


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E2B9BDC5-851E-11D6-963B-00306553B5E4>