![数据库 I/O RAID 10 与单个磁盘](https://linux22.com/image/593467/%E6%95%B0%E6%8D%AE%E5%BA%93%20I%2FO%20RAID%2010%20%E4%B8%8E%E5%8D%95%E4%B8%AA%E7%A3%81%E7%9B%98.png)
我目前正在托管一个游戏服务器,当前规格为 E1230 32GB Ram 500Gbx4 SATA Windows 2008 服务器 SQL Server 2012 数据库大小为 10Gb 玩家数量为 1k
- 一开始的问题是我在使用 2x1Tb 时遇到了 I/O 瓶颈,因为我使用的是默认的 SQL 配置,并且所有文件 .mdf 和 .ldf 都存储在默认的 C:/SQLSERVER 中
- 然后我又添加了 2 个 1 Tb 磁盘,并隔离了 .mdf 和 .ldf 以及 TempDB 位置。问题已修复,I/O 性能良好。
- 现在我有机会将磁盘系统更改为 HW RAID 10 中的 4x 300GB SAS,问题是我仅限于 4 个磁盘 1 个阵列,因此我必须将 mdf、ldf 和 tempdb 文件存储在同一个阵列中,而不是隔离的。
- 这种配置是否会有 I/O 问题?它会比 4 个单 HDD 更好吗?每个物理 HDD 都包含 mdf、ldf 和 tempdb 文件,我目前已经在使用这些文件,没有问题,或者共享 4x SAS 300GB RAID 10 的性能可能会更差?
答案1
如果数据库大小只有 10 GB,那么由两个小型 SSD 组成的 RAID1 阵列比使用旋转磁盘的任何方法都更有意义。由于这是数据库服务器,因此 MLC 闪存驱动器的写入耐久性可能是一个问题。请务必使用 SLC 闪存驱动器(例如 Intel 313 系列)或 MLC 闪存驱动器,以便通过 SMART 跟踪磨损百分比(例如 Intel 320 系列)。
回答您最初的问题:您可以预期 4 磁盘 RAID10 阵列的读取 IOPS 为 500-700,写入 IOPS 为 250-350,具体取决于未知因素,包括 SAS 驱动器的运行速度为 10K 还是 15K rpm。您的旧 7.2K rpm SATA 驱动器可能每个都为您提供大约 75 个随机读取/写入 IOPS。换句话说,切换到 4 磁盘 RAID10 阵列时,您的性能可能会提高,特别是如果您将日志保存在单独的物理卷上,也许可以为此利用一对旧 7200 rpm 驱动器的镜像。
两个 SSD 的 RAID1 阵列可以提供大约 4,000 到 20,000+ IOPS,具体取决于所选的 SSD 型号,但前提是您的 RAID 控制器可以跟上。