我有一个由 4 个 1TB 驱动器构建的 RAID5 阵列。我最初将条带大小设置为 1M,因为我将存储大文件(远大于 1MB)。NTFS 簇大小为 64KB(最大可能)。但是,看到统计数据后,我重新考虑了我的选择。
该软件比较笨,只有一个 QD=1 的线程,因此对于读取(此阵列将主要用于读取),我将获得一个 SSD 并将其用作缓存。我不会使用它进行写入,只留下控制器(Adaptec 5805Z)的内部缓存。
尽管如此,我还是希望从这个阵列获得最佳性能。
因此,统计数据(我可以使用 Adaptec Storage Manager 查看)表明,对于读取,64KB、128KB 和 256KB 最常见,其中 128KB 占据第一位(该软件以 128K 块为单位读取)。512K 或 1M 读取次数为零。对于写入,256K 最常见,128K 位居第二。
问题:考虑到统计数据,将条带大小更改为 256K 或 128K(或更低)是否会加快阵列速度?这会减慢阵列的重建速度吗?
答案1
从您自己的数据来看,选择最常用的块大小应该已经相当明显了。从您提供的数据来看,我会选择 128K(假设读取次数多于写入次数)。
这将显著减少浪费在读写上的时间。但这对实际性能的影响又是另一回事,并且很大程度上取决于负载类型。如果队列非常平坦,差异可能不会很大。
供参考:超级用户这里有一个对不同 RAID 相关问题的回答(和评论),它提供了有关如何选择条带大小的一些很好的基本理解:https://superuser.com/a/647385/321113
同样在 serverfault 上:https://serverfault.com/a/517251
这两个都明确指出,如果您知道您的应用程序主要使用哪种尺寸(根据给定的统计数据似乎就是这种情况),那么您应该选择这些。