1 Question
How can LSI 3ware and LSI MegaRAID performance be increased in Linux?
2 Answer
2.1 For the Linux 2.6 kernel:
See KB article A004958 Article ID 1211161457978 See also: Article ID 1211161479669
Third party software such as SarCheck http://www.sarcheck.com can also be used.
2.1.1 For Hard Disk Drives (HDDs):
echo "deadline" > /sys/block/sda/queue/scheduler (Turn on deadline I/O scheduler)
2.1.2 For Solid State Drives (SSDs):
In addition to
echo "deadline" > /sys/block/sda/queue/scheduler (Turn on deadline I/O scheduler)
these will increase performance with SSDs:
echo "0" > /sys/block/sda/queue/rotational (Turn off seek reordering)
echo "975" > /sys/block/sda/queue/nr_requests (Turn up block layer queue depth for sda to 975)
echo "975" > /sys/block/sda/device/queue_depth (Turn up driver queue depth for sda to 975)
kernel OS is 2.6.18 which limits the MegaRAID controller’s ability to use smp_affinity when used with motherboards with multiple processors (kernel 2.6.32 allows smp_affinity)
2.2 For the Linux 2.4 kernel:
Tuning Linux VM parameters may help to increase the read performance, depending your RAID type, application, and other factors. You can try this setting and see if it helps increase performance in your situation.
The settings are: To make the change without having to reboot (change will not survive after a reboot), type the following from a command prompt:
echo "2048" >/proc/sys/vm/min-readahead
echo "2048" >/proc/sys/vm/max-readahead
To make the change permanent, modify /etc/sysctl.conf and add the following lines:
vm.max-readahead=2048
vm.min-readahead=2048
In addition, you can modify the bdflush parameter:
sysctl -w "vm.bdflush=10 500 0 0 500 3000 0 20 0"
Other information on Linux system tuning is available from: http://people.redhat.com/alikins/system_tuning.html
There are no other 3ware specific tuning parameters for Linux for read performance.