群晖 NAS 加 SSD 缓存没啥用

94 天前
 dcsuibian

(先说句抱歉,虽然我有录制视频,但时间太久了(大概是今年 5 月做的测试,一直拖着没发),我自己也记不得哪个视频是哪个了。所以就不贴图了)

DS1821+,4 盘 RAID 6 ,单盘 26T ,万兆网,4G 内存,加了两根三星 990 PRO SSD 做读写缓存。SMB 。

做了两个测试:

  1. 一个是 1.10GiB (占用空间 1.25GiB ),总共 129403 个文件的.node_modules 文件夹的复制测试
  2. 一个是 128GiB ( 32x4GiB )的随机大文件测试

其实还有一个 1280GiB 的测试,我本来是想测试能不能耗尽 SSD 缓存后看他退回到机械硬盘速度的,结果发现中途发现缓存没有啥用,所以就没测。

另外我其实还单独测了千兆/万兆的场景,测试了使用 Windows 文件管理器和 FastCopy 这个软件。

总结

总的来说,没用。至少从速度上看不出完全啥差别。不管是大文件还是小文件、Windows 的拷贝还是 FastCopy 、读还是写。加了缓存和没加都差不多。该是几分钟就是几分钟。

之所以测试的时候用 4 个盘,是因为 4 个盘 RAID 6 肯定跑不满万兆。我本来期望的行为是群晖系统会把写入的数据先存到 SSD ,然后再慢慢地转到机械盘上。但它并没有这么做。

所以如果有群晖的用户,闲钱不多的,就不要在这上面浪费钱了。

3074 次点击
所在节点    NAS
26 条回复
rssf
91 天前
群晖最好先把内存加满,再加 ssd 缓存
dcsuibian
91 天前
@Jacksu
就拿普通的 TLC 固态硬盘来说,往往有一块 SLC 缓存,写入时,数据先写到这块 SLC 缓存,速度非常快。等待系统空闲时,控制器再把缓存里的数据搬到真正的 TLC 区域。
我期望的是类似的写入时先写入 SSD ,然后慢慢移到机械硬盘。
而且根据时间局部性原理,刚写入的数据往往是更有用的,所以我在先向 NAS 写数据再读取应该更容易命中缓存
只是很明显群晖不是这种策略,鬼知道它什么策略

再者说,命中率系统里就有显示,但如果我从速度上没法感知到缓存盘如何加速,那缓存命中率 100%有啥用?
Jacksu
91 天前
@dcsuibian 你说的 SLC 缓存这种跟群辉那个缓存不是一回事,但你可以通过加大内存实现这个功能,拷贝文件优先内存缓存,再到磁盘。
群辉那个 SSD 缓存就是监视文件的使用频率,然后一些高频使用的文件它就放到 SSD 里让你能够快速读写,如前面楼上有人说的,多人经常共同使用一个文件的场景命中率就会比较高。而且,即便是这样,也还有不少限制,比如只针对部分随机读写场景。具体你看群晖的说明: https://kb.synology.cn/zh-cn/DSM/help/DSM/StorageManager/genericssdcache?version=7
dcsuibian
91 天前
@Jacksu 群晖的缓存策略完全可以跟我想的不一样,这没问题
问题是缺少数据的佐证说明至少在什么场景下能提升多少,这个很少有人做

我体感上没差别,CrystalDiskMark 或直接读写也没差别,我也找不到提升的数据,找不到留着它的理由
sayitagain
86 天前
场景对吗,我感知还是很显著的,我没加 ssd 缓存前,看电影机械盘嘎嘎声不停的,加之后明显静音多了,缓存命中率在 70%
Autonomous
86 天前
补充一下,群晖 NAS 的 M2 硬盘通道数给的非常少,基本上就是 PCIe 3.0x2 的速率

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1160914

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX