The iostat tool gives statistics on the disk I/O subsystem. The iostat command has many options. More information can be found in the man pages. The following typical options provide information on locating I/O bottlenecks.
#iostat -xn 10 extended device statistics r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 fd0 2.7 58.2 14.6 2507.0 0.0 1.4 0.0 23.0 0 52 d0 47.3 0.0 2465.6 0.0 0.0 0.4 0.0 8.8 0 30 d1
%b - Percentage of time the disk is busy (transactions in progress). Average %b values over 25 could be a bottleneck.
%w - Percentage of time transactions are waiting for service (queue non-empty).
asvc_t - Reports on average response time of active transactions, in milliseconds. This option is mislabeled asvc_t; it indicates the time between a user process issuing a read and the read completing. Consistent values over 30ms could indicate a bottleneck.
Add more disks to the file system. When using a single disk file system, consider, upgrading to a hardware or software RAID is the next logical step. Hardware RAID is significantly faster than software RAID and is highly recommended. A software RAID solution would add additional CPU load to the system.
Depending on storage hardware and application behavior, there may be a better block size to use besides the ufs default of 8192k. For more information, consult the Solaris System Administration Guide.