My shop recently switched our mail fileserver from an old Network
Appliance to a Solaris box running ZFS. Customers are mostly
indifferent to the change, except for one or two uses which are
dramatically slower. The most noticeable problem is that deleting
email messages is much slower.
Each customer has a Courier-style maildir, so messages are stored
as individual files. Typically, a user with Mutt or Pine, accessing
the maildir via NFSv3, will mark a dozen or more messages as deleted,
then exit the mail client. Only at exit will Mutt/Pine actually
delete the files - when that happens, the delay can be as long as
30 seconds for 15 files, or 90 seconds of 150 files (these are
estimates, I haven''t been timing things yet). The NFS clients are
NetBSD, we''ve started to run ktrace (the closest thing to truss on
BSD) and initial indications are that the unlink() call (one for
each deleted mail message) is taking a long time to complete.
Any suggestions as to what might be going on? We have 9 snapshots
online, taken every 4 hours or so. The ZFS server is using a 12
disk array, one spare, in a raidz2 configuration. There are scads
of available CPU (Intel Core 2 Quad, CPU idle time is generally
90%), and we''re running a local IMAP/POP server for some clients
(who also complain about occasional slowness with some operations).
Also, any pointers to troubleshooting performance issues with
Solaris and ZFS would be appreciated. The last time I was heavily
using Solaris was 2.6, and I see a lot of good toys have been added
to the system since then.
-- Ed