On 05/19/2011 07:47 PM, Richard Elling wrote: > On May 19, 2011, at 5:35 AM, Sašo Kiselkov wrote: > >> Hi all, >> >> I'd like to ask whether there is a way to monitor disk seeks. I have an >> application where many concurrent readers (>50) sequentially read a >> large dataset (>10T) at a fairly low speed (8-10 Mbit/s). I can monitor >> read/write ops using iostat, but that doesn't tell me how contiguous the >> data is, i.e. when iostat reports "500" read ops, does that translate to >> 500 seeks + 1 read per seek, or 50 seeks + 10 reads, etc? Thanks! > > In general, this is hard to see from the OS. In Solaris, the default I/O > flowing through sd gets sorted based on LBA before being sent to the > disk. If the disks gets more than 1 concurrent I/O request (10 is the default > for Solaris-based ZFS) then the disk can resort or otherwise try to optimize > the media accesses. > > As others have mentioned, iopattern is useful for looking a sequential > patterns. I've made some adjustments for the version at > http://www.richardelling.com/Home/scripts-and-programs-1/iopattern > > You can see low-level SCSI activity using scsi.d, but I usually uplevel that > to using "iosnoop -Dast" which shows each I/O and its response time. > Note that the I/Os can complete out-of-order on many devices. The only > device I know that is so fast and elegant that it always completes in-order > is the DDRdrive. > > For detailed analysis of iosnoop data, you will appreciate a real statistics > package. I use JMP, but others have good luck with R. > -- richard
Thank you, the iopattern script seems to be quite close to what I wanted. The percentage split between random and sequential I/O is pretty much what I needed to know. Regards, -- Saso _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss