我们在 Lenovo ThinkSystem SR590 服务器上使用不支持缓存的 530-8i RAID 适配器。阵列中有 4 个 HDD(600GB/10K RPM/SAS)。我读了一篇关于计算磁盘/磁盘阵列 IOPS 的文章,理论上我们的磁盘阵列应该能获得 130 IOPS。我用 CrystalDiskMark 工具进行了测试,但在进行 SEQ1M 写入测试时只能获得大约 20 IOPS。这是没有缓存的 RAID 适配器的正常性能吗?如果不是,我该如何提高性能?
CrystalDiskMark 的输出:
- MB/s = 1,000,000 字节/秒 [SATA/600 = 600,000,000 字节/秒]
- KB = 1000 字节,KiB = 1024 字节
[读取] SEQ 1MiB (Q= 8, T= 1): 521.796 MB/s [ 497.6 IOPS] < 16036.35 us>
SEQ 1MiB(Q= 1,T= 1):466.978 MB/s [445.3 IOPS] < 2242.63 us>
RND 4KiB(Q= 32,T= 1):9.169 MB/s [ 2238.5 IOPS] < 14248.25 us>
RND 4KiB(Q= 1,T= 1):1.219 MB/s [ 297.6 IOPS] < 3352.98 us>
[写]
SEQ 1MiB(Q= 8,T= 1):23.278 MB/s [ 22.2 IOPS] <346183.31 微秒>
SEQ 1MiB(Q= 1,T= 1):20.761 MB/s [ 19.8 IOPS] < 50402.19 微秒>
RND 4KiB (Q= 32, T= 1): 2.203 MB/s [ 537.8 IOPS] < 58681.18 us>
RND 4KiB(Q= 1,T= 1):0.751 MB/s [ 183.3 IOPS] < 5439.00 us>
配置文件:默认测试:1 GiB (x3) [D: 0% (5/1574GiB)] 模式:[管理员] 时间:测量 5 秒/间隔 5 秒 日期:2021/01/26 14:28:39 操作系统:Windows Server 2012 R2 Server Standard (完整安装) [6.3 Build 9600] (x64)
我读过的关于计算IOPS的文章: https://ryanfrantz.com/posts/calculating-disk-iops.html
ThinkSystem 530-8i RAID适配器的信息: https://lenovopress.com/lp0651-thinksystem-raid-530-series-internal-raid-adapters
答案1
这是无内存硬件 RAID 控制器的常见行为。基本上,主要问题是没有临时、安全的 DRAM 缓存,写入无法合并,导致频繁的读取/修改/写入循环。RAID 卡禁用 HDD 自身缓存使情况更加恶化。
我建议您使用合适的、具有断电保护的 RAID 卡,或者使用普通镜像。
您可以阅读更多这里。