Link to home
Start Free TrialLog in
Avatar of xzhang4
xzhang4

asked on

how to identify IO bottle neck

Hi,
   Our solaris server had poor performance latedly. How can I identify if the system performance if affected by IO bottle neck, and if so, which disk is heavily hit.
I don't know how to easily read information from iostat command.
Thanks.
Shane
Avatar of liddler
liddler
Flag of Ireland image

Shane,
What is the output from these command:
vmstat 2 5
iostat
top
Avatar of yuzh
yuzh

Please download this doc, and have a look, it give you very good infor about system performance
(icluding disk IO):

http://www.eandm.co.il/presentations/solaris/botteleneck.pdf

also:

Performance Monitoring Tools
http://www.sunperf.com/CapacityPlanning.html
Run iostat -x 5 5
This will list all disk devices stats every 5 seconds for 25 seconds.

The output of the left hand column wil probably read something like "sd4" ie sd<some no>.
If you type "ls -als /dev/sd4*" then that will tell you which physical disks they correspond to.
Run this command when you system is doing nothing, or when it is working with no problems, then again when you suspect I/O activity and look at how then figures change. That will give you a clue to what disk are being heavily written to or read from.

Obviously want to run the standard "sar" command as well to see if your CPU's are spending time waiting for IO.
ASKER CERTIFIED SOLUTION
Avatar of bummerlord
bummerlord
Flag of Sweden image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of xzhang4

ASKER

Thanks all for the input.  Now I tried to use iostat -xn, I got results like
                    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    1.7   0   0 c0t10d0
    0.4    1.6    4.5   10.5  0.0  0.0    0.0   18.1   0   1 c1t0d0
    0.2    1.1    4.4   16.2  0.0  0.0    0.0   10.8   0   1 c1t1d0
    0.0    0.0    0.0    0.0  0.0  0.0    0.0    1.1   0   0 c1t2d0
    5.5    7.4  252.0  203.8  0.0  0.4    0.1   28.6   0   8  


How do I find out the mounting file system corresponding to a device.  I tried "mount", but
the device name it prints out are different
/usr/mktg/oracle on /dev/vx/dsk/mktgsan/mktg02v03 read/write/nosuid/log/nolargefiles/cluster/ioerror=disable/crw/dev=13cd2f6 on Sat Jan 31 22:35:40 2004
/usr/mktg/sas612 on /dev/vx/dsk/mktgsan/mktg02v04 read/write/nosuid/log/nolargefiles/cluster/ioerror=disable/crw/dev=13cd2f7 on Sat Jan 31 22:35:40 2004
/usr/mktg/tool on /dev/vx/dsk/mktgsan/mktg02v06 read/write/nosuid/log/nolargefiles/cluster/ioerror=disable/crw/dev=13cd2f9 on Sat Jan 31 22:35:41 2004
/usr/mktg/mtaxfer on /dev/vx/dsk/mktgsan/mktg02v02 read/write/nosuid/log/largefiles/cluster/ioerror=disable/crw/dev=13cd2f4 on Sat Jan 31 22:35:44 2004


What can I do?
Thanks.
since you're using the veritas volume manager, you'll have to get that from the veritas configuration.

try "vxprint"