Start with iostat. It's simple, and provides an average of service times for disk IOs (iostat -xnz 1, the asvc_t column is average service times in milliseconds). As Jim Litchfield pointed out in a previous thread, keep in mind it is an average, so you won't see nasty peaks, but if the average is bad, it's time to talk to the SAN/Storage folks.
Use DTrace with the IO provider to get more precise measurements. You can borrow from existing scripts in /usr/demo/dtrace to add time stamps, and use aggregations to capture IO times. If you need assistance with such a script, please let us know and we'll be glad to post one (it looks like you're already pretty comfortable with DTrace...). Thanks, /jim Hans-Peter wrote: > In order to get more information on IO performance problems I created the > script below: > #!/usr/sbin/dtrace -s > #pragma D option flowindent > syscall::*write*:entry > /pid == $1 && guard++ == 0/ > { > self -> ts = timestamp; > self->traceme = 1; > printf("fd: %d", arg0); > } > fbt::: > /self->traceme/ > { > /* elapsd =timestamp - self -> ts; > printf(" elapsed : %d" , elapsd); */ > printf(" timestamp : %d" , timestamp); > } > syscall::*write*:return > /self->traceme/ > { > self->traceme = 0; > elapsed=timestamp - self -> ts; > printf(" timestamp : %d" , timestamp); > printf("\telapsed : %d" , elapsed); > exit(0); > } > > I gives me the timestamp for every fbt call during a write system call. > A snippet is here below > 8 <- schedctl_save timestamp : 1627201334052600 > 8 <- savectx timestamp : 1627201334053000 > 0 -> restorectx timestamp : 1627202741110300 > <-------- difference = 1.407.057.300 > 0 -> schedctl_restore timestamp : 1627202741115100 > 0 <- schedctl_restore timestamp : 1627202741116100 > Visible is that the thread of for 1.4 s off cpu. > Storage is on SAN with fibers between the system and the storage. > > Is it possible to dig deeper with dtrace to see how the HBA's are performing. > Other suggestions are welcome too. > > Regards Hans-Peter > _______________________________________________ dtrace-discuss mailing list dtrace-discuss@opensolaris.org