lkml.org 
[lkml]   [1999]   [Mar]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: NFS client performance 1.5 orders of magnitude too slow? (fwd)
Date

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.)

In any event, I simply changed /etc/rc.d/init.d to start
/usr/local/sbin/amd instead of /usr/sbin/amd.

My amd created mounts now have these options:
envy:/server/home/gback /.a/envy/server/home/gback nfs rw,addr=envy 0 0

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

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.

In my eyes, this makes NFS under Linux at least usable.

Great!

I did another comparison for copying a large file onto the same server.

FreeBSD 3.0:
(~/tmp) > time cp /z/gback/linux-2.2.3.tar.gz linux-2.2.3.tar.gz-f
0.008u 0.776s 0:05.85 13.1% 61+260k 0+1807io 0pf+0w

Linux 2.2.3:
(~/tmp) > time cp /opt/downloads/kernels/linux-2.2.3.tar.gz .
0.000u 0.500s 0:13.96 3.5% 0+0k 0+0io 3314pf+0wg

This is for a 13228966 byte file.
It takes about 6 seconds on FreeBSD 3.0, about 14 seconds on Linux.

I assume this may be because the write size is only 4096 as opposed to 8192?
I use the debug option again and see:

peerless kernel: NFS: 17984 schedule_write_request (async)
peerless kernel: nfs: write(tmp/linux-2.2.3.tar.gz(1634869), 4096@4653056)
peerless kernel: NFS: nfs_updatepage(tmp/linux-2.2.3.tar.gz 4096@4653056, sync=0)
peerless kernel: NFS: find_write_request(6/1634869, c02bfe38)
peerless kernel: NFS: create_write_request(tmp/linux-2.2.3.tar.gz, 4653056+4096)
peerless kernel: NFS: append_write_request(c40980cc, c3c08a40)

Indeed, 4096 byte writes.

I guess this leaves two questions:

a) is this a write gathering/write back issue (that would be so if
cp issued writes smaller than 8K -- unlikely, I'd say)

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?)

Thanks a lot!

- Godmar


-
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:50    [W:0.060 / U:0.364 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site