Untarring on NFS
"Joel Carnat" <[email protected]> Sat, 22 Nov 2008 23:52:14 +0100 (CET)
| Newsgroups | gmane.os.netbsd.devel.performance |
|---|---|
| Message-ID | <[email protected]> |
Hello,
When running a cvs up from a NFS client to the NFS server, I found that i=
t
really took ages to complete. So I started a little bench on my
client/server to try to understand the problem.
I've tried setting net.inet.tcp.sendspace and net.inet.tcp.recvspace to
32K and 64K (on both sides), using TCP or UDP and using NFSv3.
Here is what I found (from my client to the server):
- "cp /tmp/firefox-3.0.3-source.tar.bz2 /mnt/TEST/" took 3sec, running at
11M according to the server's systat output.
- "tar xzf firefox-3.0.3-source.tar.bz2 -C /mnt/TEST/" takes minutes,
running at between 1300K and 600K according to the server's systat output=
.
- netio says:
TCP connection established.
Packet size 1k bytes: 11509 KByte/s Tx, 11227 KByte/s Rx.
Packet size 2k bytes: 11511 KByte/s Tx, 10881 KByte/s Rx.
Packet size 4k bytes: 11512 KByte/s Tx, 11314 KByte/s Rx.
Packet size 8k bytes: 11514 KByte/s Tx, 11308 KByte/s Rx.
Packet size 16k bytes: 11460 KByte/s Tx, 11302 KByte/s Rx.
Packet size 32k bytes: 11513 KByte/s Tx, 11296 KByte/s Rx.
Done.
On the server side, the filesystem is mounted as follow:
/dev/wd0e on /home type ffs (noatime, nodevmtime, log, NFS exported,
local, fsid: 0xa04/0x78b, reads: sync 223275455 async 5906, writes: sync =
0
async 1657555)
On the client side, the filesystem is mounted as follow:
guarana:/home on /mnt type nfs (fsid: 0xb07/0x70b, reads: sync 0 async 0,
writes: sync 0 async 0, [nfs: sotype=3D1, proto=3D0, fhsize=3D0,
flags=3D0x8200<nfsv3,resvport>, wsize=3D32768, rsize=3D32768, readdirsize=
=3D8192,
timeo=3D300, retrans=3D10, maxgrouplist=3D16, readahead=3D2, leaseterm=3D=
0,
deadthresh=3D9])
I tried setting rsize/wsize to 64K but I couldn't. I guessed 32K was the
max allowed.
Is there anything I can do to improve those kind of transfer ?
TIA,
Jo
PS: please, keep me CCed as I've not subscribed to this list.