如何设置缓存空间

缓存空间是指缓存的存储空间,可以存储从硬盘读取的数据(简称“读数据”)和写入到硬盘的数据(简称“写数据”) 。无论是一级缓存还是二级缓存,其缓存空间都可以设置为读写共享或者读写独立。当设置为读写共享时,硬盘读取和写入操作的数据,也即读数据和写数据,都会被存储到缓存空间,并且共享使用整个缓存空间。当设置为读写独立时,整个缓存空间按设置的比例分成独立的两个部分。一部分专用于硬盘读取操作,存储读数据,这部分空间叫做独立读缓存空间。另一部分则专用于硬盘写入操作,存储写数据,这部分空间叫做独立写缓存空间。其中,当设置的比例为“100%读”时,整个缓存空间全部为读缓存空间,在缓存策略上体现为仅缓存读数据而不会缓存写数据(简称“仅读”)。当比例为“100%写”时,则整个缓存空间为写缓存空间,在缓存策略上体现为仅缓存写数据而不会缓存读数据(简称“仅写”)。

缓存空间在一级缓存和二级缓存的高级设置对话框中进行配置。点击下图中红圈所示的按钮即可进入相应的高级设置对话框。
   
在对话框中可以看到如下所示的设置选项。
   
当不勾选“独立的读和写缓存空间”选项时,缓存空间设置为读写共享。当勾选此选项时,缓存空间设置为读写独立。此时移动滑动条可以调整设置读缓存空间和写缓存空间在整个缓存空间中的占比。

共享缓存空间的优点在于读取和写入都能使用整个缓存空间。缓存空间更具动态性,可以随读写负载的变化响应更多的读取或写入。缺点则是当缓存空间被用满并且有新的读取或写入操作时,淘汰的旧缓存数据类型是不确定的,即新的读操作可能淘汰旧的写数据或者新的写操作可能淘汰旧的读数据,这就意味着读取和写入操作会互相影响对方的缓存数据和性能。独立缓存空间则与之相反,读操作和写操作的数据被限制在各自的缓存空间中,相互不会产生影响。此外,通过控制缓存空间仅缓存读数据或者仅缓存写数据,可以控制一级缓存和二级缓存上的缓存功能。例如,如果将二级缓存空间设置为“100%读”,那么即使缓存任务开启了延时写入,二级缓存也不会缓存写数据,因此也不能加速写操作,这就相当于在二级缓存上关闭了延时写入。

需要注意的是,无论缓存空间存储的是读数据还是写数据,其都可以用于加速硬盘读操作。也就是说,当 Windows 或应用程序需要读取硬盘上的数据时,只要对应地址上的硬盘数据已经存储在缓存空间中,那么这些数据就可以直接从缓存空间中读取,从而提高读取性能。这也是为什么缓存空间全部设置为“100%写”时读取操作仍有一定的命中率。

此外,设置了写缓存空间,无论其是共享缓存空间还是独立写缓存空间,仅仅表示其可以缓存写数据,但并不意味着一定可以加速硬盘写操作。如果需要加速硬盘写操作,必须同时开启延时写入。否则写缓存空间存储的写数据仅用于加速硬盘回读。
标签