跳到主要内容

高速缓存设置和性能

高速缓存内存是控制器上存取速度比驱动器介质更快的临时易失性存储区域。

借助高速缓存,可以通过下面的方法提高整体 I/O 性能:
  • 主机请求读取的数据可能已经存在于先前操作的高速缓存中,因此无需访问驱动器。

  • 写入数据最初写入高速缓存中,从而释放了应用程序,使其可继续执行操作,而不是等待数据写入驱动器。

默认高速缓存设置符合大多数环境的要求,但是如果需要,可以更改。

存储阵列高速缓存设置

可从“系统”页面为存储阵列中的所有卷指定以下值:
  • 清空功能的启动值 – 高速缓存中未写入数据的百分比,根据此百分比触发高速缓存清空(写入到磁盘)。如果高速缓存中存储的未写入数据达到指定的启动百分比,将触发清空。默认情况下,高速缓存达到 80% 满时,控制器开始清空高速缓存。
  • 高速缓存块大小 – 每个高速缓存块(这是高速缓存管理的组织单位)的最大大小。高速缓存块大小默认为 8 KiB,但可设置为 4、8、16 或 32 KiB。理想情况下,高速缓存块大小应设置为应用程序的主要 I/O 大小。文件系统或数据库应用程序通常使用较小的大小,而较大大小则适合需要传输大量数据或需要执行顺序 I/O 的应用程序。

卷高速缓存设置

可从“卷”页面(存储 > 卷)为存储阵列中的单个卷指定以下值:
  • 读取高速缓存 读取高速缓存是用于存储从驱动器读取的数据的缓冲区。读取操作的数据可能已经存在于先前操作的高速缓存中,这种情况下无需再次访问驱动器。数据将保留在读取高速缓存中,直到清空为止。
    • 动态高速缓存读取预取动态高速缓存读取预取功能允许控制器在将数据块从驱动器读取到高速缓存时将更多顺序数据块拷贝到高速缓存中。此高速缓存功能增加了从高速缓存中满足未来数据请求的可能性。动态高速缓存读取预取对于使用顺序 I/O 的多媒体应用程序非常重要。预取到高速缓存中的数据速率和数据量是根据主机读取速率和请求大小自行调整的。随机存取不会使数据预取到高速缓存中。读取高速缓存为禁用状态时,此功能不适用。
  • 写入高速缓存 写入高速缓存是用于存储尚未写入驱动器的主机数据的缓冲区。数据将保留在写入高速缓存中,直到将其写入驱动器为止。写入高速缓存可提高 I/O 性能。
    警告
    可能丢失数据 – 如果启用无电池的写入高速缓存选项,但没有通用电源模块进行保护,可能会丢失数据。此外,如果在没有控制器电池的情况下启用无电池的写入高速缓存选项,也可能会丢失数据。
    • 无电池的写入高速缓存 采用无电池的写入高速缓存设置,即使电池缺失、发生故障、完全放电或未充满电,也可继续使用写入高速缓存。通常建议不要选择无电池的写入高速缓存,因为在断电时可能会丢失数据。通常情况下,控制器会暂时关闭写入高速缓存,直到电池充电或更换故障电池为止。
    • 镜像式写入高速缓存 当写入一个控制器的高速缓存存储器的数据也写入到另一个控制器的高速缓存存储器时,即发生镜像式写入高速缓存。因此,如果一个控制器发生故障,另一个可以完成所有未完成的写操作。仅当启用写入高速缓存功能且存在两个控制器时,才能使用写入高速缓存镜像。镜像式写入高速缓存是在创建卷时的默认设置。