Recent research shows that the more loaded a disk
drive is (volume wise) the poorer it performs, generally speaking you
should shoot for only filling drives to at most 50-60 percent of their
total capacity.
I guess it all boils down to you must know the
expected IO rate from your database and plan the number of disk drives
based on the required IO rate, not only on the amount of space required,
or you could find yourself volume rich but IO capacity poor. In
addition, don't plan to get exactly the volume of disks you need, to get
maximum performance, double that number allowing for only a 50-60
percent by volume usage.
So, before purchasing disks for your next system
upgrade consider IO rate, then capacity. And don't forget the number of
access channels to your disks. Even if you aren't stressing a single
channel, remember that most SCSI interfaces process commands to only a
single device at a time so the more channels the better the performance
for high activity systems. At one client they moved from a disk setup
with 12 channels of access using an access model that balanced IO across
all channels to an 8 channel setup that used a cascade access model (one
channel would have to saturate before another was utilized). In
preliminary testing everything seemed to work fine, then they
implemented the system and got to month end processing. They got less
than 70% of the performance of their old, slower, fewer CPU, slower disk
system. Once they added IO channels and used a load balanced model for
channel access their performance nearly doubled over what the old system
was capable off.
Most UNIX based systems now use a maximum physical
IO size of 1 megabyte per IO operation. So, for our disks we are looking
at so far, we are talking a maximum of 58 IO/second/disk, many
manufacturers claim IO rates of 100-150 or more IO per second, but if
you look at the claims closely this is linear access rate. Linear
access rate means the speed at which data stored such that it can be
read in one large linear read (little or no head movement)can be
accessed. How many Oracle systems store data this way? Generally you
will get less than 60-70 percent of the reported linear IO rate for
non-linear IO rate.
Let's look at some formulas that may help in these
capacity verses IO rate decisions.
RAID10:
CEILING((MAX(APP_IO_RATE/(DISK_IO_RATE*RAID_FACTOR*MIRRORS)),1)),1)*MIRRORS
RAID5:
CEILING((MAX(APP_IO_RATE/(DISK_IO_DATE*RAID_FACTOR),2))+1,1)
For RAID10 the raid_factor is simply the ratio of:
ACTUAL_DISK_IO_RATE/MAX_DISK_IO_RATE
(Non-linear IO
rate to Linear IO rate) if you can't get this value from the
manufacturer assume a factor of 0.6 to 0.7 (in the above data, this
would be 0.58!).
For RAID5 you
have to account for the extra overhead of the additional parity writes,
usually about 25% but may be less or more. This means the factor
becomes:
(ACTUAL_DISK_IO_RATE/MAX_DISK_IO_RATE)*0.75
If you use
mirrored RAID5 just use the RAID10 calculation with the RAID_FACTOR the
RAID5 factor and adding one disk for each level of mirroring.
Need Oracle
Tuning Support?
Burleson Consulting now offers a one-day performance review for
your Oracle database. Working with top experts who tune hundreds of
databases each year, you can get fast expert tuning advice to hypercharge
your Oracle database.
We also provide expert upgrades to Oracleand Oracle10g, and our DBAs
can quickly show you how to implement the important new features of new
Oracle releases.
Call now for remote Oracle support.

|