跳到主要内容

什么是高速缓存清空?

当高速缓存中的未写入数据量达到一定水平时,控制器会定期将高速缓存数据写入驱动器。此写入过程称为“清空”。

控制器使用两种算法来清空高速缓存:基于需求和基于老化时间。控制器会使用基于需求的算法,直到高速缓存数据量降至高速缓存清空阈值以下。缺省情况下,当使用的高速缓存达到 80% 时,清空开始。

System Manager 中,可设置“启动按需高速缓存清空”阈值,以便为环境中使用的 I/O 类型提供最佳支持。在主要涉及写入操作的环境中,应将“启动按需高速缓存清空”百分比设置为较高的值,以便增加高速缓存处理任何新写入请求的概率,而无需转到磁盘。较高的百分比设置会限制高速缓存清空的次数,因此可让更多数据保留在高速缓存中,这增加了高速缓存命中的可能性。

在 I/O 不稳定(具有数据突发)的环境中,可使用较低的高速缓存清空设置,这样可让系统在数据突发之间经常清空高速缓存。在处理各种负载的多样化 I/O 环境中,或者当负载类型未知时,请将阈值设置为 50% 以作为良好的折中方案。请注意,如果选择的启动百分比低于 80%,则可能会看到性能下降,因为主机读取操作所需的数据可能会不可用。选择较低的百分比还会增加为了维持高速缓存级别而需要的磁盘写入次数,从而增加系统开销。

基于老化时间的算法指定了一个时间段,在此时间段内写数据可保留在高速缓存中,而超过此时间段后需要将数据清空到磁盘。控制器会使用基于老化时间的算法,直到达到高速缓存清空阈值。缺省值为 10 秒,但仅在不活动期间计算此时间段。无法在 System Manager 中修改清空时间,而是必须使用命令行界面(CLI)中的“设置存储阵列”命令。

注意
可能丢失数据 – 如果启用无电池的写入高速缓存选项,但没有通用电源模块进行保护,可能会丢失数据。此外,如果在没有控制器电池的情况下启用无电池的写入高速缓存选项,也可能会丢失数据。