Re: NFS client performance 1.5 orders of magnitude too slow? (fwd)

Erez Zadok (ezk@cs.columbia.edu)
Tue, 9 Mar 1999 15:23:03 -0500 (EST)


In message <199903091908.MAA16780@sal.cs.utah.edu>, Godmar Back writes:
>
> Hi,
>
> I thought I give an update describing my solution in case other users
> hit the same problem.
>
> Thanks to Trond and Erez, I was able to solve the problem for my
> RH 5.2 box as follows:
>
> 1. Download am-utils-6.0.1s5.tar.gz from
> ftp://shekel.mcl.cs.columbia.edu/pub/am-utils/snapshots/
> Build and install it; note that will install amd in /usr/local/sbin/amd.
> (You amd guys should really consider distributing RPMs.)

GNU configure by default will set the $prefix to /usr/local. You can change
it to match your system w/ --prefix=/usr. I'd prefer to keep the default
prefix b/c that's what most people are used to.

RPMs aren't that popular yet outside linux (I wish they were). It's been
considered for some time, and I do like RPMs very much, but if you'll see
the list of systems on which am-utils builds on, RPM availability are a
small minority of those. Not that rpm couldn't be built and used on these
systems, but it won't work well w/ the vendors own method of distributing
s/w and patches.

> The 8,192 byte write test finishes now instantaneously as it should.

If 8k is better than the default 4k linux 2.2.x now uses, perhaps you can
argue to Linus to make that the default?

> 2. For my mount points defined in amd.conf, I added:
>
> opts:=rw,intr,nodevs,noconn,wsize=8192,rsize=8192, \
> acregmin=3,acregmax=60,acdirmin=30,acdirmax=60
> to my /defaults rule.

You don't need the ac* overrides, b/c these values are also the defaults
linux will use.

[...]
> b) is this another "wsize" issue. How do I get amd to mount an fs with
> wsize=8192 (given that I don't control and therefore cannot change
> the NIS maps amd reads?)

Amd will set the w/rsize to the OS defaults (1k or 4k) only if they were not
specified in the amd map mount options. This is a feature I use here all
the time. So if you specified wsize=8192 and it doesn't show in
/proc/mounts, there must be a different problem.

If you have no control over the amd maps, your only other option would be to
have your own hacked linux kernel that overrides the default rsize/wsize.
Note that amd on linux will set the default rsize/wsize based on the running
kernel's version so if you hack a kernel, you have to hack its nfs to ignore
what the mount(2) syscall passes it and just set it to 8k. Still the best
way would be to modify the amd maps to your needs.

> Thanks a lot!
>
> - Godmar

Erez.

-
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/