Hi,

I've got a severe performance problem on a X4200 M2(2x dual core 2.4Ghz) 
running Solaris 10(uname -a at the bottom), disks are located on 2 A5100 
connected thru Sanbox-8 switches to a LSI LSI7202XP-LC HBA. Doing sequential or 
random reads on one disk is no problem. Doing sequential read on a 9 disk strip 
is no problem get about 95MB/s of transfer, which I guess is the limit of 1 
Gb/s FC. But random reads on a stripe is just awful. 

I'm using randread (found at http://randread.sf.net ) to do the random read 
tests.

One disk performance:

# randread -c 4096 /dev/dsk/c7t38d0s2
4096 reads of 1 x 8.00 KB blocks (8.00 KB)
  totalling 4096 blocks (32.00 MB)
  from 22205846 blocks (173483.16 MB) in 1 files.
4096 reads in 61.922210 sec. (15117 usec/read, 67 reads/sec, 529.18 KB/sec)

Well 67 reads/sec aren't exacly mindbogling, but they're 7200rpm disks so...

Running on a strip ( 1024k strip size)
# randread -c 4096 -l 1 /dev/md/dsk/d22
4096 reads of 1 x 8.00 KB blocks (8.00 KB)
  totalling 4096 blocks (32.00 MB)
  from 199842575 blocks (1561270.11 MB) in 1 files.
4096 reads in 57.927658 sec. (14142 usec/read, 71 reads/sec, 565.67 KB/sec)

71 reads/sec is not quite a worthy throughput

Running iostat while testing the stripe gives me a hint, but I don't know what 
to do about it?

# iostat -x 5 (I hope it's somewhat readable)

device       r/s  w/s   kr/s kw/s wait actv svc_t %w %b
md22....269.6   0.0 10895.2 0.0  0.0  1.4    5.2   0 100
<snip>
sd31....29.8   0.0 1180.8   0.0  0.0  0.1    5.0   0  12
sd32....26.0   0.0 1052.8   0.0  0.0  0.1    5.2   0  11
sd33....25.6   0.0 1027.2   0.0  0.0  0.1    5.1   0  10
sd34....35.6   0.0 1355.2   0.0  0.0  0.2    4.8   0  13
sd35....31.4   0.0 1292.8   0.0  0.0  0.2    5.5   0  13
sd37....29.2   0.0 1145.6   0.0  0.0  0.1    4.9   0  11
sd39....35.6   0.0 1376.0   0.0  0.0  0.2    4.8   0  13
sd40....32.0   0.0 1270.4   0.0  0.0  0.2    5.8   0  14
sd42....32.4   0.0 1196.8   0.0  0.0  0.2    5.1   0  13

When I tried with the default stripe size the throughput is even worse at 40 
reads/sec, and sequential reading and writing may barely rival my old Commodore 
64. Okey so the C64 was abit low, but we're talking about 7 MB/s 100% busy IO 
throughput. CPU is still 99-100% idle...

I read that disksuite doesn't like splitting IO hence I tried the 1 MB stripe 
size, which atleast solved the sequential reads.

Any suggestions?

Thanks in advance,

/Samuel


# uname -a
SunOS jet2 5.10 Generic_118855-36 i86pc i386 i86pc Solaris
 
 
This message posted from opensolaris.org
_______________________________________________
storage-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/storage-discuss

Reply via email to