(in)appropriate uses for MAXBSIZE
Bruce Evans
brde at optusnet.com.au
Fri Apr 16 08:36:11 UTC 2010
On Wed, 14 Apr 2010, Rick Macklem wrote:
> On Wed, 14 Apr 2010, Bruce Evans wrote:
> [stuff snipped]
>>
>> Indeed, I was only caring about a LAN environment. Especially with
>> LANs optimized for latency (50-100 uS), nfs performance is poor for
>> small files, at least for the old nfs client, mainly due to close to
>> open consistency defeating caching, but not a problem for bulk transfers.
>
> And I'll admit I was thinking that for a low latency LAN, a large read/write
> RPC wouldn't have a negative impact, but it sounds like
> you've found 16Kb to be optimal for this case.
I'll try to find old benchmark results or repeat the benchmarks.
> For NFSv4, if the client has a delegation for the file, it doesn't
> have worry about close/open consistency, so there is some hope w.r.t.
> small files for this case.
Do you have benchmarks? A kernel build (without -j) is a good test.
Due to include bloat and include nesting bloat, a kernel build opens
and closes the same small include files hundreds or thousands of times
each, with O(10^5) includes altogether, so an RPC to read attributes
on each open costs a lot of latency. nfs on a LAN does well to take
only 10% longer than a local file system on a LAN and after disabling
close/open constency takes only about half as much longer, by reducing
the nomber of RPCs by about a factor of 2. The difference should be
even more noticable on a WAN. Building with -j reduces the extra
length by not stalling the whild build waiting for each RPC. I probably
needed it to take only 10% longer.
Bruce
More information about the freebsd-arch
mailing list