lkml.org 
[lkml]   [1999]   [Apr]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: NFSv3 client for Linux-2.2.5 ready for alpha testing...
Date

Andrew Schretter wrote:
[NFS V3] As you can see, Write performance is perfect. Read performance is
still suffering. For comparison, here are the results with NFSv2
on the same machine. (Writes a bit faster than I recall, maybe the
32k wsize which I had heard was a tad unsafe with V2 NFS)

[root@todi /tmp]# time cp testfile /mnt
0.000u 0.100s 0:02.63 3.8% 0+0k 0+0io 1103pf+0w

[root@todi /tmp]# ls -l /mnt/test1
ls: /mnt/test1: No such file or directory

[root@todi /tmp]# ls -l /mnt/test1
-rw------- 1 root bin 4194304 Apr 13 09:50 /mnt/test1

[root@todi /tmp]# time cp /mnt/test1 .
0.000u 0.130s 0:00.62 20.9% 0+0k 0+0io 79pf+0w

Assuming that "testfile" changed into "test1" by magic and given that I have
yet to look Linux kerenel code, I have a dumb question. The NFS read you do
- is that going across the wire or is it reading from local cache? That you
have only 20.9% of the CPU, that suggests that at least some requests went
over the wire (or waiting on disk). Certainly close-to-open consistancy will
send one GETATTR. There's also the converse dumb question - if the reads are
going over the wire, why wasn't the data cached?

Connectathon's test5 has this incantation that flushes the local cache on
Solaris, Tru64, but may not be a Posix requirement:

#ifdef MMAP
maddr = mmap((caddr_t)0, (size_t)size, PROT_READ,
MAP_PRIVATE, fd, (off_t)0);
if (maddr == NULL) {
error("can't mmap '%s'", bigfile);
exit(1);
}
if (msync(maddr, (size_t)size, MS_INVALIDATE) < 0) {
error("can't invalidate pages for '%s'", bigfile);
exit(1);
}
if (munmap(maddr, (size_t)size) < 0) {
error("can't munmap '%s'", bigfile);
exit(1);
}
#endif

Instead of dealing with disk or /dev/null or /dev/zero overhead, it's a
good idea to have some C hacks that write without refilling buffers and
read without looking at the data. Dd, cp, etc all have side effects that
leave questions about what is really happening.

So, V2 NFS reads REAL fast, just writes slow. V3 Writes REAL fast,
just reads slow.

Maybe V2 caches data locally and V3 doesn't?

-Ric Werme

--
Eric (Ric) Werme | werme@zk3.dec.com
Compaq Computer Corp. | http://www.cyberportal.net/werme

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