Endeca recommends setting the read_ahead_kb kernel parameter to 64 kilobytes on all Linux machines (RHEL 5). This setting controls how much extra data the operating system reads from disk when performing I/O operations.
Reducing this value from the default typically increases sustained throughput for the MDEX Engine while also increasing its warmup time. Warmup is defined as initial performance of the MDEX Engine after startup (throughput and query latency), until the sustained level of performance is reached. Therefore, if you decide to tune this parameter, choose a value to balance these concerns.
Reducing read_ahead_kb has a noticeable effect and increases throughput for the MDEX Engine only in cases where a large data set may not fit into the MDEX Engine memory.
In cases when the index fits into memory, reducing read_ahead_kb from its default has no noticeable effect on the MDEX Engine performance.
When operating the MDEX Engine on a large data set that is running out of memory, consider adding more memory in addition to tuning read_ahead_kb to improve performance.
Setting read_ahead_kb to 64 kilobytes is a reasonable choice for most applications running on Linux.
To tune the read_ahead_kb kernel parameter on RHEL 5:
echo 64 > /sys/block/sda/queue/read_ahead_kb
where sda is the name of the disk device for the MDEX Engine, and 64 is the number of kilobytes for the new read_ahead_kb setting.