Slashdot Mirror


Ask Slashdot: NFS on Free OSes Substandard?

Yet another fearless member of Clan Anonymous Coward wrote in with this intriguing issue: "I am trying to convince my company to move off of Digital Unix and Sun OS to either FreeBSD or Linux as our primary server platform. The main argument I am getting is the NFS client performance on these free OSes is much worse than that of Solaris or DU. Can anyone give any recent data on relative NFS performance on these platforms?"

3 of 107 comments (clear)

  1. Open Source solutions by Anonymous Coward · · Score: 5

    Some weeks ago there was a huge thread on freebsd-hackers about NFS and the implementation in FreeBSD which has "slight" problems currently. JKH estimated the time necessary to fix these problems in months. It was even suggested to fund one or two developers to take care of the NFS "thingies."

    Then, there is Linux. The 2.0 kernel suffers from the userland-only nfsd implementation which has a real impact on the speed on especially fat pipes (>100MBit/sec). The interaction between userland/kernel demands many context changes and data copying between the two areas decreasing the overall speed and increasing the server load.

    Linux 2.1/2.2 uses a kernel nfs implementation which is currently under heavy development and as such overall reliability cannot be foreseen. It still suffers from problems with using bigger read/write blocksizes. But HJLu (I think he is working on that) and the other contributors are doing a great job, so this area will improve over time.

    If you want to run a big network with many clients (300+), you should currently go with a commercial OS such as Solaris (I don't know anything about HP-UX' NFS performance/reliability) and run it on vendor hardware (yes, I'm conservative). At the current stage of open source implementation of NFS, it would only discredit open source and yourself as a open source advocate, if you would suggest to use open source software for running a huge network. You can easily go with Linux or FreeBSD, if you want to build a rather small network (I have a client with ~70 networked stations depending on a FreeBSD 3.0 server) and don't need a really scalable solution.

  2. solaris vs. linux nfs times by Anonymous Coward · · Score: 5

    We have a small development network of about 8 client machines (linux & sparc boxes) and a linux box for an nfs server. These are some of the times I have collected while I was following the optimization section of the linux NFS howto:

    I use the following commands to write and read a file, respectively (see the NFS howto):

    (1) time dd if=/dev/zero of=/opt/stuff/testfile bs=16k count=4096
    (2) time dd if=/opt/stuff/testfile of=/dev/null bs=16k


    One of the sparc clients has a line like this in its /etc/vfstab file

    linuxServer:/opt/stuff - /opt/stuff nfs - yes rsize=1024,wsize=1024,rw

    A linux client has the following line in it's /etc/fstab file:

    linuxServer:/opt/stuff /opt/stuff nfs rsize=4096,wsize=4096,hard,intr,suid 0 0

    This is a typical (I say typical because I'm substituting the average times)
    out put from (1) on the sparc client:

    4096+0 records in
    4096+0 records out

    real 0m20.90s
    user 0m0.24s
    sys 0m2.49s

    And for (2):

    4096+0 records in
    4096+0 records out

    real 0m0.69s
    user 0m0.04s
    sys 0m0.62s


    For the linux client, (1):

    4096+0 records in
    4096+0 records out
    0.01user 2.05system 0:21.00elapsed 9%CPU (0avgtext+0avgdata 0maxresident)k
    0inputs+0outputs (89major+15minor)pagefaults 0swaps

    and (2):

    4096+0 records in
    4096+0 records out
    0.00user 1.49system 0:36.13elapsed 4%CPU (0avgtext+0avgdata 0maxresident)k
    0inputs+0outputs (96major+15minor)pagefaults 0swaps


    For (2), the sparc is significantly faster.

    If I change the rsize and wsize of the sparc client to 4096 each, the sparc
    client will crash nfsd on the linux server.

    We are just a small group of developers who happen to be linux enthusiasts, so we configured this setup ourselves. In short, we don't claim to be masters at configuring unix networks.

    The sparc client is an ultra 5, the linux client is an 450MHZ HP Vectra (p.o.s.), and the linux server is a 333MHZ Dell Dimension.

  3. Re:NFS performance by divbyzero · · Score: 4
    Just to clarify what was Enry said, the rsize and wsize options are flags you set either in the fstab or on the mount command line for every share you want to mount. Nothing need be changed on the server exporting the share.

    This is documented right at the top of the nfs man page, and makes a world of difference. My group at work has a very similar situation to yours (most shares served by Digital Unix but adding more Linux boxes every day), and NFS was definitely a problem until we fixed this.

    Div.

    --
    But my grandest creation,
    As history will tell,
    Was Firefrorefiddle,

    --
    But my grandest creation, as history will tell,
    Was Firefrorefiddle, the Fiend of the Fell.