RAID Storage Performance
RAID storage is often associated with high performance. However, RAIDs can present unexpected performance challenges and do not always provide the benefits you may expect.
Following are some things to consider when attempting to transfer high-speed data with RAID storage at the source or destination. For general information about optimizing storage hardware, see Tech Note 0023.
The primary purpose of a RAID storage system is data integrity, not high performance. Performance improvements compared to single-disk storage can sometimes be achieved by striping data across multiple drives. However, the overhead of controlling the data distribution, calculating parity information, and mismatches between the controller configuration and data access patterns can actually result in much slower performance.
Software versus Hardware
Software RAIDs rely on the CPU and motherboard I/O to distribute storage operations across multiple drives. When transfer speeds are in the hundreds of megabits per second or faster, the CPU or I/O bus can become a severe bottleneck. This is especially true for network data transfer, which also relies on the CPU and I/O bus.
Hardware controllers are strongly recommended for transfer rates of hundreds of megabits per second or faster.
RAIDs may be configured to maximize either reliability or performance. Generally one comes at the expense of the other.
For maximum performance, be sure to enable caching features such as "read-ahead", "write-behind", "write-back", "audio-video", or "streaming".
Be sure to disable features such as "write-through", "synchronized", or "atomic". It may also be necessary to disable "mirroring", particularly for software RAIDs.
Different controllers may use different terminology, so consult your documentation or vendor for specific information on maximizing performance.
Firmware & Drivers
Check that your controller firmware is up-to-date and that you have the
correct driver version installed. Also make sure you are using the
correct configuration software.
Note that some RAID controllers ignore or override operating system settings. For example, the operating system may request read-ahead
caching, but the RAID controller may have it disabled. Therefore you cannot rely on registry or sysctl settings.
Hard-disk performance is reduced exponentially when multiple
processes access the same disk at the same time. RAIDs may
reduce this effect through caching and striping, but only up to a point.
Modern operating systems often have disk access occurring in the background,
so contention is always an issue.
For more information about hard-disk contention issues, see Tech Note 0023.
For example, a storage system which may be able to sustain 1 gigabit of
throughput for a single sequential data read, may be reduced to less
than 100 megabits per second of total throughput when two reads are
being performed in parallel. When considering performance
statistics, random-access benchmarks will be much more indicative of
performance under load than the more commonly cited sequential access
Performing high-speed data accesses in
series rather than parallel will usually result in faster over-all performance.