Some comments on ZFS
garyj at jennejohn.org
Mon Apr 16 10:28:55 UTC 2007
I've now moved to using ZFS on my -current machine.
Very nice not having to worry about the size of a FS.
My box has 2GB of memory and an AMD64 X2 4200+.
However, I've noticed some things which I find rather strange.
I. My old setup looked like this:
a) 2 36GB SCSI disks on AHC UFS/soft-updates - 80MB/s max. transfer rate.
/usr/src was on one disk and /usr/obj on the other.
b) 2 SATA1 drives hooked to AHC using SATA -> SCSI adapters GJOURNAL on top
of UFS/soft-updates - also 80MB/s max. transfer. These were also mounted
II. The new setup:
a) 1 36GB SCSI drive hooked to AHC - UFS/soft-updates. /usr/src is on this
b) 2 500GB SATA1 drives ZFS-mirrored. One is hooked up to the MB and the
other is hooked up to the AHC using a SATA -> SCSI adapter.
c) 1 300GB and 1 160GB SATA drive ZFS-concatenated. One is hooked up to the
MB and the other is hooked up to the AHC using a SATA -> SCSI adapter.
/usr/obj is on this one. These are the same disks as in I(b).
I've turned off atime and compression on all ZFS file systems.
With the old setup I saw:
a) ``make -j2 buildworld'' usually pegged the CPU at 97%.
b) transferring data over NFS from a Linux client to this one pretty
much always saturated the 100Mb/s link.
With the new setup:
a) ``make -j2 buildworld'' only reaches about 70% CPU load. Is ZFS stealing
so much CPU?
b) while transferring data from I(b) to II(b) I saw several hard hangs of
the machine without any error messages or warnings (I was working on the
console). The only recourse was a hard reset. It turned out that some
directories were somehow pathological and the box always hung while
trying to copy them (I made several attempts). The only solution was
to delete these (fortunately unimportant) directories.
c) transferring data over NFS from the same Linux client to this one (target
II(c)) pretty much never saturates the 100Mb/s link. The CPU load wasn't
all that high - maybe 3% or 4%.
Is there any ZFS setting analogous to async which I could use to speed up
Gary Jennejohn / garyjATjennejohnDOTorg gjATfreebsdDOTorg garyjATdenxDOTde
More information about the freebsd-current