服务器主机上RAID Controller的Read Ahead Policy

时间:2021-08-22 18:30:04

RAID控制器(卡)会根据Read Ahead Policy 来决定是否只读取应用程序所请求的一块数据, 还是从硬盘上读取整个stripe. 这个policy会对读的性能产生影响.

  • No Read Ahead (Normal)
    RAID控制器会只读取应用程序请求的数据, 多一点都不读. 这种模式比较适合的情况是读取操作主要是随机的读.
  • Always Read Ahead
    RAID控制器会读取包含被请求的数据的整个Stripe, 并且会保存在cache中. 每一个读操作都会消耗稍多一点的硬盘资源, 但是如果读操作主要是顺序读取, 它就能减少发送给硬盘的读取请求的数量, 从而提高性能.

注意: 这种设定仅能在一般读操作的大小小于Stripe大小的情况下能起到提高性能的作用.

  • Adaptive Read Ahead
    RAID控制器根据当前读请求的pattern来自动的调整read policy. 这个选项结合了No Read Ahead 和Always Read Ahead 两种模式. 建议在workload是顺序和随机是混合在一起的时候使用这种模式, 或者在不知道workload pattern的时候使用它.

 

参考资料

=====================

Configuring RAID for Optimal Performance

http://download.intel.com/support/motherboards/server/sb/configuring_raid_for_optimal_perfromance_11.pdf