硬盘缓存大小在 RAID 中重要吗?

硬盘缓存大小在 RAID 中重要吗?

可能重复:
硬盘缓冲区大小重要吗?

好吧,这不完全是 RAID,但我刚买了一台无驱动器的 Drobo,用作视频/照片工作的原始存储,现在正在浏览硬盘以放入其中。在大多数情况下,16MB/32MB/64MB 缓存大小的驱动器之间的价格差异相当大。在我的特定情况下,Drobo 中有 4 个 1TB 驱动器,缓存大小是否会以某种方式提高性能?提前谢谢!

答案1

缓存可让您提高处理速度 - 但是,对于您使用它的目的(存储),性能通知可能微乎其微。RAID 驱动器将使用其全部缓存。

编辑:再解释一下什么是缓存;它存储数据以便将来的请求可以更快地得到处理。这意味着缓存越高,可以存储的块数据就越多,这意味着可以更快地检索数据。

答案2

硬盘缓存大小无关紧要,因为所有现代操作系统都有自己的缓存,并且有更多内存可供使用。如果最近访问过,那么它无论如何都会在操作系统缓存中,因此将其放在驱动器缓存中并不重要,因为操作系统不会再次向驱动器索要该数据。

与 CPU 缓存相比,这就像现代 CPU 拥有 8MB 的 L3 缓存,但随着时间流逝,你会发现 CPU 拥有 128 MB 的 L2 缓存,速度提高了 32 倍,但仍然拥有旧的、缓慢的 8 MB L3 缓存。这不会有任何好处,因为 L2 总是首先被查询,而且更大、更快。此时,争论 L3 缓存应该是 8 MB 还是 16 MB 是没有意义的,因为 L3 中的任何内容也会在 L2 中,因此 L3 甚至看不到请求。

要查看驱动器和内核缓存的运行情况,您可以尝试一下dd以查看从驱动器读取的速度有多快。

sudo dd if=/dev/sda of=/dev/null bs=52488 count=1

这将从驱动器读取 512kb。重复几次,您将开始看到一些非常快的数字。在我手边的这台旧机器上,我看到的速度约为 751 MB/s。这是使用内核缓存。现在,如果您添加 iflag=direct 选项,这将禁用内核缓存,允许您测量驱动器缓存的速度。重复此操作后,我只看到大约 100 MB/s,这大约是这个旧 IDE 接口的最大传输速率。这并不比驱动器的无缓冲吞吐量(大约 61 MB/s)好多少。

现在问自己,当您没有绕过内核缓存时,速度较慢、较小的驱动器缓存有什么好处。

相关内容