Re: Massive slowdown when re-querying large nfs dir

From: Neil Brown
Date: Wed Nov 07 2007 - 16:58:42 EST


On Wednesday November 7, a1426z@xxxxxxxxx wrote:
> Neil Brown wrote:
> >
> > 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.

Not really a credible difference as the reported difference is between
two *clients* and the speed of getattr vs lookup would depend on the
*server*.

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

I suspect a more detailed analysis of the traces is in order. I
strongly suspect you will see a difference between the two clients,
and you have only reported a difference between the first and second
"ls -l" (unless I missed some email).

It seems most likely that 2.6 is issuing substantially more GETATTR
requests than 2.4. There have certainly been reports of this in the
past and they have been either fixed or justified.
This may be a new situation. Or it may be that 2.4 was being fast by
being incorrect in some way. Only an analysis of the logs would tell.

Maybe you would like to post the (binary, using "-s 0") traces for
both 2.4 and 2.6....

NeilBrown
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/