Last week's "Windows Server 2003 better than Linux" test
David Collier-Brown -- Customer Engineering
David.Collier-Brown at sun.com
Mon May 12 19:52:10 GMT 2003
jra at dp.samba.org wrote:
> Hmmm. To be honest I think this is due to the Solaris UFS
> behavour - it seems to be very sensitive to write sizes
> (that's why I added the write cache code). Linux doesn't
> seem to need this as the kernel does the buffering.
Yes, I can confirm that in part: up to 8 update 3 UFS (actually
an updated ffs, not the old old ufs) wasn't particularly good at
coalescing writes.
That changed a lot about then, and I found in traces that
ufs was putting together some very nice large chunks. However,
that mostly avoids small fragmented writes and excess seeks.
Handing ufs multiples of the (block size * stripe width) is
still a **very** good thing on a filesystem residing on
a RAID array.
On a brand new filesystem, unrelated to ufs, the same is
still true: RAID and big buffers beats ufs and small ones
by ten to one.
And it applies to read as well: reading large amounts
gets a lot of parallelism on the initial reads, and uses
the readahead well thereafter.
[Just FYI: I've changed my strategy so that samba reading from
a readahead cache so as never to give a "short read", and
the code got simpler...]
A question for the Linux aficionados: can the OS get
knowledge of the "best size" for RAID devices from the device?
That sound like something a filesystem might be able to know
and use... albeit not ufs (;-))
--dave
--
David Collier-Brown, | Always do right. This will gratify
Sun Microsystems DCMO | some people and astonish the rest.
Toronto, Ontario |
(905) 415-2849 or x52849 | davecb at canada.sun.com
More information about the samba-technical
mailing list