This is an old topic, discussed many times at length. However, I
still wonder if there are any workarounds to this issue except
disabling ZIL, since it makes ZFS over NFS almost unusable (it's a
whole magnitude slower). My understanding is that the ball is in the
hands of NFS due to ZFS's design. The testing results are below.
Solaris 10u3 AMD64 server with Mac client over gigabit ethernet. The
filesystem is on a 6 disk raidz1 pool, testing the performance of
untarring (with bzip2) the Linux 2.6.21 source code. The archive is
stored locally and extracted remotely.
Locally
-------
tar xfvj linux-2.6.21.tar.bz2
real 4m4.094s, user 0m44.732s, sys 0m26.047s
star xfv linux-2.6.21.tar.bz2
real 1m47.502s, user 0m38.573s, sys 0m22.671s
Over NFS
--------
tar xfvj linux-2.6.21.tar.bz2
real 48m22.685s, user 0m45.703s, sys 0m59.264s
star xfv linux-2.6.21.tar.bz2
real 49m13.574s, user 0m38.996s, sys 0m35.215s
star -no-fsync -x -v -f linux-2.6.21.tar.bz2
real 49m32.127s, user 0m38.454s, sys 0m36.197s
The performance seems pretty bad, lets see how other protocols fare.
Over Samba
----------
tar xfvj linux-2.6.21.tar.bz2
real 4m34.952s, user 0m44.325s, sys 0m27.404s
star xfv linux-2.6.21.tar.bz2
real 4m2.998s, user 0m44.121s, sys 0m29.214s
star -no-fsync -x -v -f linux-2.6.21.tar.bz2
real 4m13.352s, user 0m44.239s, sys 0m29.547s
Over AFP
--------
tar xfvj linux-2.6.21.tar.bz2
real 3m58.405s, user 0m43.132s, sys 0m40.847s
star xfv linux-2.6.21.tar.bz2
real 19m44.212s, user 0m38.535s, sys 0m38.866s
star -no-fsync -x -v -f linux-2.6.21.tar.bz2
real 3m21.976s, user 0m42.529s, sys 0m39.529s
Samba and AFP are much faster, except the fsync'ed star over AFP. Is
this a ZFS or NFS issue?
Over NFS to non-ZFS drive
-------------------------
tar xfvj linux-2.6.21.tar.bz2
real 5m0.211s, user 0m45.330s, sys 0m50.118s
star xfv linux-2.6.21.tar.bz2
real 3m26.053s, user 0m43.069s, sys 0m33.726s
star -no-fsync -x -v -f linux-2.6.21.tar.bz2
real 3m55.522s, user 0m42.749s, sys 0m35.294s
It looks like ZFS is the culprit here. The untarring is much faster
to a single 80 GB UFS drive than a 6 disk raid-z array over NFS.
Cheers,
Siegfried
PS. Getting netatalk to compile on amd64 Solaris required some
changes since i386 wasn't being defined anymore, and somehow it
thought the architecture was sparc64 for some linking steps.
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss