lkml.org 
[lkml]   [1998]   [Sep]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: knfsd performance vs. unfsd performance


On Sat, 19 Sep 1998, Greg Whalin wrote:

> OK, I have been running some benchmarks on a new linux NFS server (Dual
> PPro 200, linux-2.1.122). I am having it be a NFS server for a network
> of diverse platforms. I ran the benchmark program named bonnie on a SunOS
> client and here are the results:
>
> Linux NFS server using knfsd-980915:
>
> File './bonnie.21608', size: 104857600
> Writing with putc()...done
> Rewriting...done
> Writing intelligently...done
> Reading with getc()...done
> Reading intelligently...done
> Seeker 1...Seeker 3...Seeker 2...start 'em...done...done...done...
> -------Sequential Output-------- ---Sequential Input-- --Random--
> -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
> Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU
> 100 64 4.5 62 0.6 40 0.9 379 30.2 965 7.8 48.4 6.6

Greg,

That is extremely poor performance, I'll grant. However, you haven't
explained much about the test conditions. I'm familiar with Bonnie, but
not with your network. Can I assume that the network interfaces are
10Base ethernet? Are you using a switched hub? What else is going on at
the time? Etc, etc.

Also, I bet you haven't specified the 'async' flag in /etc/exports, and/or
are using smallish transfer sizes?

My /etc/exports looks like:

/ *.fast.net(no_root_squash,rw,insecure,async) \
*.steve.net(no_root_squash,rw,insecure,async)
/dosD *.fast.net(no_root_squash,rw,insecure,async) \
*.steve.net(no_root_squash,rw,insecure,async)

The 'async' token tells the kernel nfsd to defer writes. While not in
strict accordance with NFS semantics, it makes a huge difference in
performance.

On the client side, be sure to use the rsize=8192,wsize=8192 flags.

My server is also a Dual PPro (180, overclocked to 233), 64-Megs memory,
Adaptec 2940A, Micropolis narrow-SCSI drive, NetGear Tulip 100-BaseTX
talking through a plain (non-switched) SVEC hub. Runs 2.1.122.

Talking to it from a Cyrix P150+ box (also 64MB memory and Tulip
100BaseTX) running 2.1.122, I get:

-------Sequential Output-------- ---Sequential Input-- --Random--
-Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU
100 3822 64.0 3736 10.5 1449 11.1 2140 34.5 2361 13.6 86.1 4.1


Turning around, and using the P150 box as the server:

-------Sequential Output-------- ---Sequential Input-- --Random--
-Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU
100 3115 73.3 3537 6.9 1760 8.5 2414 55.2 4620 15.1 139.2 3.6


The network was loading only with the X-protocol traffic between client,
server, and a third 486 box acting as an X Server.

Even with 10Base, I would see ~1.1KB/sec. between machines running Tulip
boards (DEC DE-450's).

Steve











-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:44    [W:0.070 / U:3.080 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site