Another addition to DTrace was the integration of a SCSI provider allowing you to trace SCSI commands on your system. It's a quite powerful feature allowing you to get in-depth insight what's going on on the storage side of your system. I really suggest to read through the documentation.
However what's not really highlighted in the "What's new" documentation for Solaris 11.4 is the availability of a new script called
This script would have been really handy recently when i had to diagnose a performance problem at a customer. I got the data differently, but it would have been much easier with the script. However the system was still running 11.3.
However what's not really highlighted in the "What's new" documentation for Solaris 11.4 is the availability of a new script called
scsitrace
in Oracle Solaris 11.4. This script uses the new functionality in order give you this kind of deep insight without having to write a script for DTrace on your own.root@batou:/# /usr/dtrace/DTT/scsitrace -v
Press Control C to exit
00039.958182402 0x2a write(10) -> ahci0 dev:0:0 path: timeout:60 zpool-rpool(5) cdb:0x2a0001ffbcd800000200 id:ffffa100336f860000000184a7f53340
00039.958208406 0x2a write(10) -> ahci0 dev:0:0 path: timeout:60 zpool-rpool(5) cdb:0x2a0001ffbed800000200 id:ffffa100336fe08000000184a7f59980
00039.958221834 0x2a write(10) <- ahci0 dev:0:0 path: tran:1(ACCEPT) reason:0(completed) status:0(GOOD) sense:0x0/0x0/0x0 resid:0x0 latency:40(40+18446744073709551)us cdb:0x2a0001ffbcd800000200 id:ffffa100336f860000000184a7f53340
00039.958222081 0x2a write(10) <- ahci0 dev:0:0 path: tran:1(ACCEPT) reason:0(completed) status:0(GOOD) sense:0x0/0x0/0x0 resid:0x0 latency:14(14+18446744073709551)us cdb:0x2a0001ffbed800000200 id:ffffa100336fe08000000184a7f59980
00039.958627013 0x35 synchronize_cache -> ahci0 dev:0:0 path: timeout:60 sched(0) cdb:0x35000000000000000000 id:ffffa100336fe08000000184a7fbf9cd
00039.959734004 0x35 synchronize_cache <- ahci0 dev:0:0 path: tran:1(ACCEPT) reason:0(completed) status:0(GOOD) sense:0x0/0x0/0x0 resid:0x0 latency:1104(1104+18446744073709551)us cdb:0x35000000000000000000 id:ffffa100336fe08000000184a7fbf9cd
This script would have been really handy recently when i had to diagnose a performance problem at a customer. I got the data differently, but it would have been much easier with the script. However the system was still running 11.3.
Pablo
I usually run it in io domains to diagnose if performance problems was from hba port to storage cabinet or inside the system itself as a complement to service time metrics in vmstat.