Block devices are important to host performance. Correct configuration of the block device queue depth, scheduling algorithm, prefetch amount, and I/O alignment improves system performance.
Prefetch Volume
Similar to the prefetch algorithm of a storage array, the prefetch function of Linux is only available for sequential read, sequential streams identification, and reading of data in the read_ahead_kb length (in units of sectors) in advance. For example, the default prefetch volume in SUSE 11 is 512 sectors, namely, 256 KB. To query the prefetch volume of the block device, run cat.
linux-ob3a:~ # cat /sys/block/sdc/queue/read_ahead_kb
512
If an application needs to read a large number of large-sized files, you can raise the system performance by setting the prefetch volume to a larger value. To do this, use the following method:
echo 1024 > /sys/block/sdc/queue/read_ahead_kb