Messages in this thread | | | Subject | Re: NFS client (10x) performance regression 2.6.14.7 -> 2.6.15 | From | Trond Myklebust <> | Date | Fri, 31 Mar 2006 08:44:18 -0500 |
| |
On Fri, 2006-03-31 at 15:21 +0200, Jakob Oestergaard wrote: > On Fri, Mar 31, 2006 at 08:06:32AM -0500, Trond Myklebust wrote: > > On Fri, 2006-03-31 at 14:45 +0200, Jakob Oestergaard wrote: > > > On Fri, Mar 31, 2006 at 07:22:50AM -0500, Trond Myklebust wrote: > > > ... > > > > > > > > Some nfsstat output comparing the good and bad cases would help. > > > > > > Clean boot on 2.6.15 and 2.6.14.7, one run of nfsbench with > > > LEADING_EMPTY_SPACE=1. I've skipped the NFS v2 stats because they're > > > all 0. > > > > Why all the GETATTR calls? > > That's the $1000 question I guess :) > > > Are you running with 'noac' set? > > I didn't set it, that's for sure :) I got the option lines from > /proc/mounts, if there is any way I can get more/other information > please advise. > > 2.6.14.7: > rw,v3,rsize=32768,wsize=32768,hard,intr,udp,lock,addr=... > > 2.6.15: > rw,v3,rsize=32768,wsize=32768,hard,intr,lock,proto=udp,addr=... > > Except for some formatting (proto=udp insted of udp) I fail to see any > difference. > > The way I see it, it seems like caching on the client side fails > completely if the read requests are not aligned (to some > buffer/block/page/whatever). > > > I don't have a 2.6.15 kernel to run with, but on a recent git pull, I > > get a total of 6 GETATTR calls when I run your nfsbench program. > > The performance regression is present on 2.6.16.1 too. > > Do you have a released kernel you can test with (2.6.1[56].*), or can I > somehow get the kernel you're testing with, just so that we test on the > same kernel?
Just apply http://client.linux-nfs.org/Linux-2.6.x/2.6.16/linux-2.6.16-NFS_ALL.dif
to a clean 2.6.16.
> > The number of READ calls is 1, and the number of WRITE calls is 161 (I'm > > running with 64k wsize). > > I can't set 64k wsize: > > puffin:~# mount -o rw,wsize=65536,udp sparrow:/exported/joe /mnt > puffin:~# cat /proc/mounts > ... > sparrow:/exported/joe /mnt nfs rw,v3,rsize=32768,wsize=32768,hard,intr,lock,proto=udp,addr=sparrow 0 0 > puffin:~# > > Server is running a patched 2.6.11.11 kernel - could that be what's > preventing me from 64k wsize?
Linux servers do not yet support anything larger than a 32k r/wsize (and in any case, you would have to switch towards using TCP). My home directory is on a filer.
> What happens if you run with 32k rsize/wsize?
Number of writes balloons to 321.
If I switch to UDP, I get no change.
Cheers, Trond
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |