Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Mar 2005 04:15:51 +0000
From:      Joseph Koshy <joseph.koshy@gmail.com>
To:        Peter Hessler <phessler@coverity.com>
Cc:        freebsd-performance@freebsd.org
Subject:   Re: NFS small files
Message-ID:  <84dead720503082015c11bb53@mail.gmail.com>
In-Reply-To: <20050309015119.44566908B7@coverity.dreamhost.com>
References:  <20050309005628.5C6D1908B8@coverity.dreamhost.com> <422E541C.8040108@telus.net> <20050309014632.49895908B7@coverity.dreamhost.com> <20050309015119.44566908B7@coverity.dreamhost.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> I should mention that copying the same directory on the nfs server takes

Filename resolution over NFS involves multiple round-trip requests,
one for each component of the file's pathname.

For example, assuming that '/mnt' is an NFS mount-point, accessing a 
file named '/mnt/FreeBSD/src/sys/sys/file.h,v' results in the following
NFS requests:

[Edited output from ethereal]

 1 0.000000    ::1                   ::1                   NFS      V3
LOOKUP Call (Reply In 2), DH:0xa9a212b8/FreeBSD
V3 Procedure: LOOKUP (3)
what: dir
Name: FreeBSD

2 0.000116    ::1                   ::1                   NFS      V3
LOOKUP Reply (Call In 1), FH:0xcd6610c4
Status: OK (0)

3 0.000162    ::1                   ::1                   NFS      V3
LOOKUP Call (Reply In 4), DH:0xcd6610c4/src
V3 Procedure: LOOKUP (3)
what: dir
Name: src

4 0.000194    ::1                   ::1                   NFS      V3
LOOKUP Reply (Call In 3), FH:0x5c9e0ec6
Status: OK (0)

5 0.000224    ::1                   ::1                   NFS      V3
LOOKUP Call (Reply In 6), DH:0x5c9e0ec6/sys
V3 Procedure: LOOKUP (3)
what: dir
Name: sys

6 0.000253    ::1                   ::1                   NFS      V3
LOOKUP Reply (Call In 5), FH:0xb4d2113a
Status: OK (0)

7 0.000281    ::1                   ::1                   NFS      V3
LOOKUP Call (Reply In 8), DH:0xb4d2113a/sys
V3 Procedure: LOOKUP (3)
what: dir
Name: sys

8 0.000312    ::1                   ::1                   NFS      V3
LOOKUP Reply (Call In 7), FH:0xb0f9f738
Status: OK (0)

9 0.000338    ::1                   ::1                   NFS      V3
LOOKUP Call (Reply In 10), DH:0xb0f9f738/file.h,v
V3 Procedure: LOOKUP (3)
what: dir
Name: file.h,v

10 0.000366    ::1                   ::1                   NFS      V3
LOOKUP Reply (Call In 9), FH:0x58ea0f3a
Status: OK (0)

11 0.002220    ::1                   ::1                   NFS      V3
ACCESS Call, FH:0xa9a212b8
V3 Procedure: ACCESS (4)
object
access: 0x3f

I can imagine that the extra latency induced by these round-trips would be
adding to elapsed time for your test.
 
-- 
FreeBSD Volunteer, http://people.freebsd.org/~jkoshy



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?84dead720503082015c11bb53>