Hello,

I have been trying to chase down some ZFS performance issues, and I was hoping 
someone with more ZFS experience might be able to comment.

When running a "zfs list" command, it often takes several minutes to complete.  
I see similar behavior when running most other ZFS commands, such as "zfs set", 
or when creating a snapshot.  While it is running, the load of the server stays 
approximately the same (0.30), no process goes above 1% CPU usage, and the 
server does not utilize swap.

The server I am using for testing is running Solaris Express DE 9/07, based on 
B70.  It has 15 SATA drives in a RAID-Z2 pool, and the actual I/O performance 
is good as far as I can tell.  The pool contains 150 filesystems, including 
snapshots.  It is an active server, and generally has several users writing to 
the disk at any one time.

Below is a snippet of output from a "truss -d zfs list":

...
 0.0283 open("/dev/zfs", O_RDWR) = 3
...
 1.7142 ioctl(3, ZFS_IOC_DATASET_LIST_NEXT, 0x08045D38) = 0
 2.6371 ioctl(3, ZFS_IOC_OBJSET_STATS, 0x08043E98) = 0
 2.7222 ioctl(3, ZFS_IOC_DATASET_LIST_NEXT, 0x08044D88) = 0
 4.6572 ioctl(3, ZFS_IOC_OBJSET_STATS, 0x08042EE8) = 0
...

As you can see, it spends quite a bit of time waiting for the return of ioctl 
calls on /dev/zfs.  Since the command has to make many of these calls, the 
cumulative delays add up to a significant wait.

Any ideas?
 
 
This message posted from opensolaris.org
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to