lkml.org 
[lkml]   [2007]   [Nov]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: Massive slowdown when re-querying large nfs dir
Date
Neil Brown wrote:
> On Tuesday November 6, akpm@linux-foundation.org wrote:
> > > On Tue, 6 Nov 2007 14:28:11 +0300 Al Boldi <a1426z@gawab.com> wrote:
> > > Al Boldi wrote:
> > > > There is a massive (3-18x) slowdown when re-querying a large nfs dir
> > > > (2k+ entries) using a simple ls -l.
> > > >
> > > > On 2.6.23 client and server running userland rpc.nfs.V2:
> > > > first try: time -p ls -l <2k+ entry dir> in ~2.5sec
> > > > more tries: time -p ls -l <2k+ entry dir> in ~8sec
> > > >
> > > > first try: time -p ls -l <5k+ entry dir> in ~9sec
> > > > more tries: time -p ls -l <5k+ entry dir> in ~180sec
> > > >
> > > > On 2.6.23 client and 2.4.31 server running userland rpc.nfs.V2:
> > > > first try: time -p ls -l <2k+ entry dir> in ~2.5sec
> > > > more tries: time -p ls -l <2k+ entry dir> in ~7sec
> > > >
> > > > first try: time -p ls -l <5k+ entry dir> in ~8sec
> > > > more tries: time -p ls -l <5k+ entry dir> in ~43sec
> > > >
> > > > Remounting the nfs-dir on the client resets the problem.
> > > >
> > > > Any ideas?
> > >
> > > Ok, I played some more with this, and it turns out that nfsV3 is a lot
> > > faster. But, this does not explain why the 2.4.31 kernel is still
> > > over 4-times faster than 2.6.23.
> > >
> > > Can anybody explain what's going on?
> >
> > Sure, Neil can! ;)

Thanks Andrew!

> Nuh.
> He said "userland rpc.nfs.Vx". I only do "kernel-land NFS". In these
> days of high specialisation, each line of code is owned by a different
> person, and finding the right person is hard....
>
> I would suggest getting a 'tcpdump -s0' trace and seeing (with
> wireshark) what is different between the various cases.

Thanks Neil for looking into this. Your suggestion has already been answered
in a previous post, where the difference has been attributed to "ls -l"
inducing lookup for the first try, which is fast, and getattr for later
tries, which is super-slow.

Now it's easy to blame the userland rpc.nfs.V2 server for this, but what's
not clear is how come 2.4.31 handles getattr faster than 2.6.23?


Thanks!

--
Al

-
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/

\
 
 \ /
  Last update: 2007-11-07 10:39    [W:0.751 / U:0.808 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site