1

OK. We have a few PowerEdge Rack servers that we use for MSSQL. I have one server that has 3 raid arrays of RAID 1 that are SATA. I can run SQLIO and get close to 6,000 IOPS. How is this even remotely possible?

C:\Program Files (x86)\SQLIO>sqlio.exe -kW -s300 -fsequential -b8 -Fparam.txt
sqlio v1.5.SG
parameter file used: param.txt
    file E:\testfile.dat with 2 threads (0-1) using mask 0x0 (0)
2 threads writing for 300 secs to file E:\testfile.dat
    using 8KB sequential IOs
size of file E:\testfile.dat needs to be: 10737418240 bytes
current file size:      0 bytes
need to expand by:      10737418240 bytes
expanding E:\testfile.dat ... done.
using specified size: 10240 MB for file: E:\testfile.dat
initialization done
CUMULATIVE DATA:
throughput metrics:
IOs/sec:  5963.58
MBs/sec:    46.59

This is just using a PERC with like 512 mb cache. I don't understand how this is physically possible.

philfry
  • 11
  • 1

1 Answers1

0

Make sure to test random and sequential read and writes.

Sequential writes are not uncommon (writing the transaction log, dumps for backups) but reads are almost always going to be random because if SQL could predict you want that piece of data it would have already been in RAM and reads generally have a more noticeable impact to human users. So depending on what your application DB characteristics are one may be more accurate than the other.

The other thing to keep in mind is that you can boost read performance with more RAM or a faster/larger RAID adapter cache but if you need to improve write performance you pretty much have no alternative to buying more (or faster) disks.

TheFiddlerWins
  • 2,999
  • 1
  • 15
  • 22