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

    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);
    if (msync(maddr, (size_t)size, MS_INVALIDATE) < 0) {
    error("can't invalidate pages for '%s'", bigfile);
    if (munmap(maddr, (size_t)size) < 0) {
    error("can't munmap '%s'", bigfile);

    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 |
    Compaq Computer Corp. |

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:51    [W:0.020 / U:7.160 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site