Knowledgebase: Linux
Optimization of read performance under Linux on 3ware
Posted by Gurpreet Singh on 16 August 2011 04:28 AM
Problem
How to increase Read performance under Linux on 3ware controllers.

Solution
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


For Linux kernel 2.6, If you enter the following command:

blockdev --setra X /dev/sda

i.e.

blockdev --setra 16384 /dev/sda

(Note: 16384 is just an example value. You will have to do testing to determine the optimal value for your system). The OS will read-ahead X pages, and throughput will be higher.

To make the change available every time you boot, you can add the 'blockdev --setra 16384 /dev/sda', 'blockdev --setra 16384 /dev/sdb', 'blockdev --setra 16384 /dev/sdc', etc. to /etc/rc.d/rc.local .

You can also put a setting in /etc/sysctl.conf which will set the read-ahead on boot: /sys/bus/scsi/drivers/sd/[DEVICEID]/block/queue/read_ahead_kb
(1 vote(s))
Helpful
Not helpful

Comments (0)
Post a new comment
 
 
Full Name:
Email:
Comments:
CAPTCHA Verification 
 
Please enter the text you see in the image into the textbox below (we use this to prevent automated submissions).