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

Reply via email to