G'Day Jon, For disk layer metrics, you could try Disk/iopending from the DTraceToolkit to check how saturated the disks become with requests (which answers that question with much higher definition than iostat). I'd also run disktime.d, which should be in the next DTraceToolkit release (it's pretty obvious), and is included below. disktime.d measures disk delta times - time from request to completion.
#!/usr/sbin/dtrace -s #pragma D option quiet #pragma D option dynvarsize=16m BEGIN { trace("Tracing... Hit Ctrl-C to end.\n"); } io:::start { start[args[0]->b_edev, args[0]->b_blkno] = timestamp; } io:::done /start[args[0]->b_edev, args[0]->b_blkno]/ { this->delta = timestamp - start[args[0]->b_edev, args[0]->b_blkno]; @[args[1]->dev_statname] = quantize(this->delta); } The iopattern script will also give you a measure of random vs sequential I/O - which would be interesting to see. ... For latencies in ZFS (such as ZIO pipeline latencies), we don't have a stable provider yet. It is possible to write fbt based scripts to do this - but they'll only work on a particular version of Solaris. fsinfo would be a good provider to hit up for the VFS layer. I'd also check syscall latencies - it might be too obvious, but it can be worth checking (eg, if you discover those long latencies are only on the open syscall)... Brendan -- Brendan [CA, USA] _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss