我们将扩展 PostgreSQL 服务器的存储空间,我们正在考虑的一件事是使用 SSD(Intel 520 系列)代替旋转磁盘(10k RPM)。每 GB 的价格相当,我们期望性能有所提高,但我们担心使用寿命,因为我们的数据库使用模式写入量很大。我们还担心断电时数据损坏(由于 SSD 写入缓存刷新不正确)。
我们目前使用 RAID10,在控制器中配置了 4 个活动硬盘(10k 146GB)和 1 个备用硬盘。这是一台配备 P410 智能阵列控制器和 BBWC 的 HP DL380 G6 服务器。
哪个更有意义:将驱动器升级到 300GB 10k RPM 还是使用英特尔 520 系列 SSD(240GB)?
答案1
如果您使用的是配备 Smart Array P400 控制器的服务器,那么您将使用 G5 时代的 300 系列 ProLiant(DL360 G5、DL380 G5 等)或 G4/G5 时代的 500 系列 ProLiant(DL580、ML570)。所有这些系统在 2009 年或之前就已经过时了,因此您的系统落后了几个版本,性能也因此受到影响……
也就是说,您可以在 P400 控制器上使用英特尔 SSD。请注意,P400 只是一个 3Gb/s SAS 控制器。
首先升级控制器固件。
它们将在写入方面提供一些优势。将 RAID 控制器的缓存比率调整为 75:25 写入:读取。通过使用电池供电装置 (BBWC),您的 Intel 520 SSD 上缺少超级电容器不是问题。(您对旋转磁盘和没有 BBWC 也会有同样的担忧,对吗?)
由于存储空间是您的目标,您还可以添加再添加四个 146GB 磁盘并扩展现有阵列。如果您有驱动器托架可供支持,那么这样做会很有帮助。
无论哪种方式,您都有多种选择。
编辑:
有关 SSD 和 P410 控制器的注意事项:
答案2
这英特尔 520系列固态硬盘 (SSD) 被英特尔评为 5 年内每天 20GB 的 4k 随机写入。
您应该能够测量每天执行的 IO 数量,并将其与此数字进行比较。这符合预期 - 如果您每天执行 40GB 的 4k 随机写入,英特尔会评估您的驱动器使用寿命为 2.5 年。当然,这对您来说可能仍然可以接受。
它实际上并不像上面那样明确,因为您实际上不太可能进行 100% 随机 4k 写入。您的文件系统缓存和 RAID 控制器缓存将在堆栈向下的过程中合并写入,这可能会导致执行更大的块写入。您的应用程序也可能批量写入(我在这里没有专门研究 PostgreSQL 的行为)。
然而,20GB/天这个数字可能是您进行计算的合理依据。
答案3
由于您的工作负载受 I/O 限制(如您所说),因此用更大的 10k 磁盘替换当前磁盘可能不会有太大帮助。要改善 I/O,您需要更多主轴(更多 146 GB 磁盘)或更快的磁盘(SSD)。