[Samba] Performance on a home fileserver
dd-b at dd-b.net
Sat Sep 23 06:19:37 GMT 2006
Very early in my fileserver setup. I'm building a home fileserver
running Solaris on an Opteron processor, 2GB ECC memory, motherboard
SATA, two 400GB drives mirrored in a ZFS pool. Gigabit ethernet.
My client system is my long-standing desktop box, windows XP Pro with
2GB non-ECC memory, 300GB SATA data drive, gigabit ethernet. The two
systems are on a shelf next to each other, connected by a cheap
gigabit switch (no management interface, no configuration).
Samba was configured with SWAT. Workgroup, no domains. User-level
authorization, encrypted passwords, no ldap, radius, or other outside
I'm copying my user directory from the 300GB drive on the desktop
system to my home directory in a ZFS filesystem in the mirrored pool
on the server. I'm not committed to keeping this copy, I'm just
The data is various, but includes a lot of big files, camera original
files from 1MB to 15MB, bigger photoshop files, some much bigger audio
files, and the usual number of smaller files.
The "benchmarking" is extremely informal; I'm the only user on the
server, but I'm also playing MP3 streams on my desktop from the server
at the same time as this copy. These two systems should be the only
switch activity, and neither is doing any significant to any
destination; all the traffic is between these two systems. The copy
is a drag-and-drop of my entire documents directory, comprising over
Disk activity lights indicate that disk activity on the server is
*very* light -- disk lights up for well under 50% of the time. The
sending side shows constant disk activity (some visible blinking,
little dark time).
zpool iostat shows a peak of 27MB written per 5 seconds, and many
times much less than that; but the disk IO lights suggest that disk
bandwidth isn't the limit (so does donig local disk operations, and
doing a "scrub" where ZFS reads every used block in the pool and
verifies the checksum). But I see 1 or more 5-second periods in every
24 under 1MB.
Yikes; now for a minute or so it's been in the small hundreds of K per
seconds (perhaps because it's going through small files).
Um, this performance seems to me to suck dead diseased rats through a
straw. I don't even know where I should be pointing the finger right
now. Copying within my desktop system isn't apparently this bad (and
that's reading and writing a single disk, whereas the network test is
all read on one side, all write on the other). The server system
doesn't have a high CPU load or disk load. The network isn't
saturated (by a few orders of magnitude). "Nothing" is wrong. But
this performance really sucks.
Frankly even the peak performance seen (27MB per 5 seconds), on the
big files (several hundred MB), is pitiful.
Once the copy is done, I'll have things like big photoshop files on
both systems, and I can open them in photoshop and compare the time,
and copying them around some more, and so forth; not as controlled as
synthetic benchmarks, but directly measuring the things I do where
I'll notice disk performance most.
Am I seeing inherent limitations in Windows? Problems with
drag-and-drop copies? Any suggestions? These observations are very
crude, and can't really be considered "measurements"; but I'm feeling
they aren't even in the right *order of magnitude*.
David Dyer-Bennet, <mailto:dd-b at dd-b.net>, <http://www.dd-b.net/dd-b/>
Dragaera/Steven Brust: <http://dragaera.info/>
More information about the samba