Linux and PHP web application support and development (Bromsgrove, UK)

Disk I/O performance on a Proliant + SmartArray server

Some time ago, we upgraded a customer’s Debian Lenny Linux server from running a 2.6.26 based kernel to use a 3.2 kernel. It hosts a relatively popular website, and the performance optimisations in the 3.2 kernel (particularly around TCP slow start) have made a big difference to page load times (for more information see this article ).

 

However, after the upgrade, we noticed I/O service times were very poor – with simple tasks often taking seconds to complete.

The problem – the v3.2 kernel seems to have poor default values for disk read ahead, at least when it’s being used on a Compaq/HP Proliant server with a SmartArray G6 controller. The quick fix was to do :

/sbin/blockdev –setra 65536 /dev/sda

This is the same / equivalent to :

echo 32768 > /sys/block/sda/queue/read_ahead_kb

Additional settings, probably of less use are :

echo deadline > /sys/block/sda/queue/scheduler
echo 512 > /sys/block/sda/queue/nr_requests

 

, , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *