System information
Troubleshooting
6-2
6.3 Performance Tuning
Performance tuning is always not an easy job because it requires in-depth knowledge of hardware and software. This
section offers a few guidelines for you to identify performance problem sources and to do improvements. However, the
system performance depends on not only the RAID system but also the capability of all software and hardware
components along the I/O path. Please contact your solution providers to choose field-proven configurations.
1. Understand the I/O workload pattern
Understand your workload before configuring the RAID for your hard disks. Most applications can be classified into two
types of workload: transaction (database or file server) and stream (video/audio or backup/archival). The former tends to
be random access with variable IO size, and the former is sequential access with large IO size. Read the manual of your
applications to find the suggested RAID configurations, or check the Appendix when choosing the RAID configurations.
2. Adjust the controller performance parameters
The RAID system is equipped with many parameters that allow you to gain excellent performance and also poor
performance when poorly configured. Basically delayed write and read ahead option should be turned on, and cache unit
size should be set according to your IO size. But if you are unsure about how the parameters work, please choose the
performance profile in the Quick Setup menu (see 2.5 Quick Setup on page 2-15) according to your workload or leave
all parameters as default.
3. Use large I/O size at host
Aggregating multiple contiguous I/O into single I/O of big size significantly improves the sequential-I/O performance
because of better bandwidth utilization and reduced CPU loading. You can use larger allocation size (a.k.a. block size)
when creating a file system (for example, 64KB for NTFS and Apple Xsan, and 4KB for ext3). If you want to use multiple
I/O connections, multi-path I/O is more advised than software striping (RAID 0), since the later tends to limit the maximum
I/O size of single I/O access. But if you still need software striping, use the maximum stripe size (for example, 256KB for
MAC OS striping breadth). There could be also options provided by the operating systems and HBA drivers for you to
increase the maximum I/O size.
4. Ensure aligned I/O access
The RAID controller can process I/O requests more efficiently if I/O is aligned with the RAID stripe size or cache unit size.
For x86 systems, file data of a file system (like NTFS) starts after the MBR (Master Boot Record), which occupies the first
63 sectors of a LUN (see 2.6 RAID Management on page 2-16). So, the alignment offset option of a LUN is needed to
set (63 or 191 sectors for NTFS). However, it works only for your first partition in a LUN. When creating partitions on
Windows 2003 and later, you may use the Disk Partition Toll (Dispart.exe) with the option align=N to force the partition to
start at the specified alignment offset. To ensure all data chunks are aligned, you need also to make the NTFS allocation
size equal to or bigger than the RAID stripe size.
5. Ensure I/O access fits striping data size
When you set the write cache of a RAID5 LUN as write-through, data written to only a stripe of a RAID5 data row causes
reading the old data and parity to calculate the new parity is necessary. But if all the stripes of a data row are written with
new data, then the new parity can be produced with only the new data. An example to do so is the option –E stride=N of
Linux ext3 file system, and you can set the N as 64 for a ext3 LUN with 4KB allocation size on a 4-disk RAID0 LUN with
64KB stripe size (64 = 4 x 64k/4k).
6. Check RAID system health status
Browse the monitoring web page (see 2.2 Monitor Mode on page 2-4) and the event log (see 2.9 Event Management
on page 2-44) to make sure your systems are in a good shape. Problems like bad blocks, bad hard disks, poor cabling,
or incompatible devices hurt performance because the RAID controller wastes its energy doing error recovery. Also note
that when the auto-write-through option (see 2.9.5 Miscellaneous on page 2-47) is turned on, failure of power supply
units, BBM, or so would force the delayed-write option to be off.
7. Check I/O path connections
You have to make sure the bandwidth of I/O path can deliver the performance you need. For example, if you install a
quad-port 4Gbps Fibre Channel HBA to a 4-lane PCIe 1.0 slot, your bandwidth will be limited to 1GB/s bandwidth of the
PCIe slot. You need also to check the data rate of I/O paths is configured properly without degradation. For example, your
4Gbps Fibre Channel channels are configured to run at 2Gbps rate, you need to check HBAs, switch, host interface
ports, and disk interface ports of the RAID system.
8. Check hard disk settings
Hard disks are the destination of all I/O and thus also important to performance. For hard disks that have variable data
rate (like 1.5 Gbps or 3 Gbps for SATA disks), please make sure the setting is correct by checking the jumpers on the
hard disk. You need also to make sure the on-disk cache is turned on (see 2.8.1 Hard disks on page 2-38). Lastly, the
performance of hard disks varies from model to model, and even the hard disk firmware revision could also cause
differences, having the latest revision helps you to get better performance.