How to figure out and solve slow disks?


 
Thread Tools Search this Thread
Operating Systems Solaris How to figure out and solve slow disks?
# 1  
Old 06-23-2011
How to figure out and solve slow disks?

I'm using SUN x4600 with 64GB ram and 2 SAS 146GB 10krpm with Solaris 10

One told me, that the system seems to be slow, so I did a
iostat -xtc 5 2

which showed for a long period of time only 4-6000 kw/s and 100%b
PHP Code:
dbserver:~ #  iostat -xtc 5 200
                 
extended device statistics                    tty         cpu
device    r
/s    w/s   kr/s   kw/s wait actv  svc_t  %w  %b  tin tout  us sy wt id
sd0       0.0    0.0    0.0    0.0  0.0  0.0    0.0   0   0    0    6   1  1  0 98
sd1       1.2   76.3  154.3 4266.3  1.3  5.4   86.1   1 100 
sd2       1.0    0.9   14.7    2.6  0.0  0.0   14.5   0   1 
This looks slow to me, too.
Are there more tools to discover the reason or where might I solve the root cause?

Thanks Stefan
# 2  
Old 06-23-2011
dtrace might be good to find what you're watchin for:

Code:
# Files opened by process,
dtrace -n 'syscall::open*:entry { printf("%s %s",execname,copyinstr(arg0)); }'
 
# Read bytes by process,
dtrace -n 'sysinfo:::readch { @bytes[execname] = sum(arg0); }'
 
# Write bytes by process,
dtrace -n 'sysinfo:::writech { @bytes[execname] = sum(arg0); }'
 
# Read size distribution by process,
dtrace -n 'sysinfo:::readch { @dist[execname] = quantize(arg0); }'
 
# Write size distribution by process,
dtrace -n 'sysinfo:::writech { @dist[execname] = quantize(arg0); }'
 
# Disk size by process,
dtrace -n 'io:::start { printf("%d %s %d",pid,execname,args[0]->b_bcount); }'

# 3  
Old 06-23-2011
iostat vs. dtrace

Thanks DukeNuke2,

sorry for being not precise enough:
I have 2 times 2 SAS 146GB, configured as 2 RAID 1

The Volume I'm talking about is only used by the database (MySQL Cluster) and is mounted as:
Code:
/DB on /dev/dsk/c1t2d0s1 read/write/setuid/devices/intr/largefiles/logging/xattr/noatime/onerror=panic/dev=7c0041 on Thu Jun 23 10:57:32 2011

My problem does not seem to be the number of processes, accessing the files (should only be some of the MySQL ndbmtd process) and also not the number of files (<20) on that drive.

The figures themselves are looking very slow.
I don't think, that this box is only capable for 6 Mbyte /s....

Any Idea?

Last edited by fpmurphy; 06-23-2011 at 10:13 AM.. Reason: code tags, spelling
# 4  
Old 06-24-2011
The disk is doing 80 IO operations per second.

That's not great for a 10K rpm SAS drive, but it's not unreasonable either.

What kind of file system and what are your mount options? (They don't all show up in the output from "mount".)

Last edited by achenle; 06-24-2011 at 03:26 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help with change significant figure to normal figure command

Hi, Below is my input file: Long list of significant figure 1.757E-4 7.51E-3 5.634E-5 . . . Desired output file: 0.0001757 0.00751 0.00005634 . . . (10 Replies)
Discussion started by: perl_beginner
10 Replies

2. UNIX for Dummies Questions & Answers

Can't figure out why this repeats

#!/bin/sh while IFS=: read address port; do : ${port:=443} address=$address port=$port cd $f_location number=`grep "$address" thing.txt -A 1 | grep "addresses=" | cut -d'"' -f2` echo "$address,$port,$number,$answer" >>... (9 Replies)
Discussion started by: shade917
9 Replies

3. UNIX for Dummies Questions & Answers

Can't figure this one out --

I'm putting together a shell script while I'm learning UNIX -- just for myself. It's a little script that simply takes some vendor names and writes them to a file. So far I'm at the stage where the user enters the name of the file and places it in a folder called vendorlists: * ) touch... (5 Replies)
Discussion started by: Straitsfan
5 Replies

4. UNIX for Advanced & Expert Users

Can't figure out how this is working

I have two machines, each with a virtual interface, with the following configurations: Machine1: eth2 Link encap:Ethernet HWaddr 00:09:6B:19:E5:05 inet addr:172.16.0.201 Bcast:172.16.0.255 Mask:255.255.255.0 eth2:0 Link encap:Ethernet HWaddr 00:09:6B:19:E5:05 ... (0 Replies)
Discussion started by: druidmatrix
0 Replies

5. UNIX for Dummies Questions & Answers

How to figure out what each IP address is used for?

Hi, I have inherited a server at work that has one IP and two virtual IP's. It is live and I want to figure out what each IP is being used for. I thought of NETSTAT but I cannot figure out how to get it to list what each IP is listening for. ANy advice? (8 Replies)
Discussion started by: mojoman
8 Replies

6. IP Networking

How do I figure out the subnet?

Hi, How do I get subnet from this: 10.252.0.138/25 Tnx (2 Replies)
Discussion started by: mehrdad68
2 Replies

7. Shell Programming and Scripting

Cant figure out this..

Hi, I need a little help here. I am exporting user info from a PSQL database and everything is working with the exception of this: 10029008:dsAuthMethodStandard\:dsAuthClearText:classword:10029008:2004:10029008:10029008:/home/student/1002/90/08:10029008 It is putting a colon right before the... (1 Reply)
Discussion started by: Stud33
1 Replies

8. Shell Programming and Scripting

Can't figure out else not matching

All, I appreciate any help you can provide on this. I get an "else unmatched" error with this code and can't figure out why. If I remove the 1st if statement through the 1st else the script runs through fine. Any thoughts? #decrypt file sudo -u gpg /usr/bin/gpg... (4 Replies)
Discussion started by: peteroc
4 Replies

9. UNIX for Dummies Questions & Answers

figure it out

hi there i am new to this site and this linux and unix stuff so kind of plz help me out hoe to start the stuff.... (1 Reply)
Discussion started by: cool_dude
1 Replies

10. UNIX for Dummies Questions & Answers

i can not figure this out

I am having problems scripting in UNIX. I am currently attending school and for the first time I am being introduced to scripting. My problem is I am supposed to enhance the spell_check by adding a third optional argument. The third argument is to specify a list of words to be added to the... (1 Reply)
Discussion started by: steph
1 Replies
Login or Register to Ask a Question