调整磁盘文件预读参数
原理
文件预取的原理,就是根据局部性原理,在读取数据时,会多读一定量的相邻数据缓存到内存。如果预读的数据是后续会使用的数据,那么系统性能会提升,如果后续不使用,就浪费了磁盘带宽。在磁盘顺序读的场景下,调大预取值效果会尤其明显。
使用方法
文件预取参数由文件“read_ahead_kb”指定,CentOS中为“/sys/block/$DEVICE-NAME/queue/read_ahead_kb”($DEVICE-NAME为磁盘名称)。
如果不确定磁盘名称,则通过命令以下命令来查找。
find / -name read_ahead_kb
此参数的默认值128KB,可使用echo来调整,仍以CentOS为例,将预取值调整为4096KB:
echo 4096 > /sys/block/$DEVICE-NAME/queue/read_ahead_kb

这个值实际和读模型相关,要根据实际业务调整。
父主题: IO调优