分享

我的NAS使用经验 篇十九:让Windows NAS也能用上磁盘缓存

 pio9999 2023-04-07 发布于广西

                                             

大家好,我是真真梦。在之前的分享里提到我DIY了一台高性能All in one NAS服务器,使用了两片固态硬盘加Raid卡给机械硬盘提供缓存。这个方案其实挺高效的,缺点也很明显,主要是成本高、配置难、缓存无法给系统等其他盘加速:

后来有不少朋友问我有没有在不增加硬件成本的条件下,实现成品NAS上的SSD Cache之类的磁盘缓存加速方案,后来我找到了解决方案,只需要用一个软件就可以实现,测试了2个月下来感觉挺稳定的,今天特地抽空来分享给大家。这个方案除了适用于服务器外,同样也适用于普通电脑哦,有兴趣的朋友可以来了解下。

这里需要用到PrimoCache这个软件,软件提供了一个月试用时间,可以先试用再决定是否购买,准备付费的朋友直接在其官网下载安装最新版,否则建议安装4.1.0服务器版,解决办法可以自行搜索,比较简单。软件界面如图:

让Windows NAS也能用上磁盘缓存--安装一个软件就可实现

1.安装好之后第一次运行软件会弹出创建缓存向导,也可以直接在主界面点击左上角的图标开始创建缓存:

让Windows NAS也能用上磁盘缓存--安装一个软件就可实现

2.勾选需要创建缓存的磁盘,机械硬盘和固态硬盘都支持的,系统盘和数据盘都可以选上,勾选完毕点击右下角【下一页】:

让Windows NAS也能用上磁盘缓存--安装一个软件就可实现

3.第3步是配置缓存参数,这些参数比较重要:

【一级缓存】:一级缓存是使用内存做磁盘缓存,根据自己NAS内存总容量进行设置,可以把空闲的内存都分配给一级缓存,比如我内存是64GB,这里就分了20G用来做磁盘缓存,16G用户可以分8G给一级缓存,内存缓存的速度是最快的。

【二级缓存】:二级缓存相当于品牌NAS上的SSD Cache,使用高速固态硬盘给机械硬盘提供磁盘缓存,关于二级缓存的作用稍后再做测试,有闲置M2 SSD的用户可以把二级缓存也用上。

【缓存粒度】:缓存粒度建议设置成分区文件系统的簇大小,比如NTFS默认是4KB。这一项一般不用进行设置,它会自动根据之前选择的分区设置。

【启用延时写入】:延时写入是一个很实用的功能,有数据写入磁盘的时候不立即写入磁盘,将数据先写入到缓存里,延时一段时间再集中写入硬盘里,可以有效的降低固态硬盘数据写入量,延长硬盘寿命。要注意开启延时写入后建议搭配UPS电源使用,否则遇到停电的时候还没来得及写入的数据可能会丢失。

【预取上次缓存】:内存里的数据在关机后会丢失,一级缓存是使用内存做磁盘缓存,关机后缓存数据也会立即丢失,可以勾选上预取上次缓存,开机后软件会将开机前的缓存数据载入到内存里,提高缓存效率和命中率:

设置完成后,点击右下角【启动】:

让Windows NAS也能用上磁盘缓存--安装一个软件就可实现

通过上面三个步骤配置完成,每次开机软件会自动启动运行,不再需要人工干预。可以随时打开软件查看命中率等数据,命中率越高说明缓存的作用越大,刚创建好的缓存命中率不会太高,使用一段时间后会软件会自动把经常访问的数据载入到缓存里:

让Windows NAS也能用上磁盘缓存--安装一个软件就可实现

分配了20G内存作为缓存之后,系统开机后内存占用就达到了28G,不过对于我64G内存来说仍然还有一半多的可用空间;现在的处理器性能都很强劲,软件对CPU系统性能的影响几乎可以忽略:

让Windows NAS也能用上磁盘缓存--安装一个软件就可实现

接下来测试一下缓存的性能。这是一块4TB的机械硬盘,先不启用缓存测试硬盘跑分。这块机械硬盘连续读写速度在190MB/S左右,4K性能是机械硬盘的弱项,只跑到1MB/S,并且半天都没有响应,不得不终止了测试:

让Windows NAS也能用上磁盘缓存--安装一个软件就可实现

启用缓存之后这块4T的机械硬盘速度直接提高百倍,从数据上来看比现在主流的PCIE4.0性能还要强,主要原因是跑分软件写入的数据量小于缓存容量,相当于直接在内存里测试,这速度能不夸张吗?

让Windows NAS也能用上磁盘缓存--安装一个软件就可实现

启用缓存之后NAS运行速度有了明显的提升,系统、服务和软件的响应速度更快,对虚拟机的助力也特别大。比如我在win11的安卓子系统上用鲁大师跑分测试,读写速度直接打到几十GB/S,直接把鲁大师吓傻了;使用虚拟机运行windows、linux、黑群晖等系统性能也有极大的提升:

让Windows NAS也能用上磁盘缓存--安装一个软件就可实现

用内存做缓存也有一定的局限性:对文件传输没有太大的助力。我拷贝了36G文件到开启了缓存的windows NAS上测得不开启缓存和开启缓存时花费的时间几乎是一致的,都是3分26秒左右,毕竟文件大小已经超出缓存总容量了,内存缓存容量有限:

让Windows NAS也能用上磁盘缓存--安装一个软件就可实现

我之前测试过品牌NAS的SSD缓存对文件传输性能的增益也是微乎其微的,但PrimoCache方案对系统整体性能的提升还是相当明显的,整体来说实用性要远远高于品牌NAS的SSD Cache,并且这个方案只需要牺牲一部分内存空间,不用额外增加硬件成本:

差点忘了之前提到的二级缓存是不是?二级缓存是用高速SSD硬盘做磁盘缓存,硬盘的容量比内存大多了,成本也低一些,看能不能解决对文件传输无增益的问题。我在NAS上安装了一片之前淘汰下来的M2固态硬盘,在缓存配置里开启了二级缓存,分配了250G硬盘空间作为二级缓存:

让Windows NAS也能用上磁盘缓存--安装一个软件就可实现

开启二级缓存之后,用同样的文件进行测试,这次只花了2分07秒就完成了拷贝,足足节省了1分钟时间。从这里可以得出结论,在开启内存缓存的前提下,有条件的话再给NAS添加一块M2固态硬盘作为二级缓存就更完美了:

让Windows NAS也能用上磁盘缓存--安装一个软件就可实现

以上是我个人的一点心得,各位朋友如果有更好的方案还请分享出来一起讨论,有任何问题可留言咨询。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多