阅读 SSD 驱动器规格时,MB/s 和 IOPS 之间有什么区别?

阅读 SSD 驱动器规格时,MB/s 和 IOPS 之间有什么区别?

我正在尝试为我的数据库服务器(debian 7 amd-64 上的 postgres)寻找合适的 SSD 驱动器,我发现对于某些 SSD 驱动器,虽然读取速度以 MB/s 为单位,但写入速度以 IOPS 为单位。为了使事情变得更加复杂,有时顺序访问以 MB/s 为单位,而随机访问以 IOPS 为单位。

这些单位彼此之间以及与硬盘(使用传统的 MB/s)相比如何?

答案1

MB/s 表示驱动器每秒可以处理的兆字节数(以吞吐量表示)。IOPS 表示每秒可以处理多少个单一操作。

顺序访问意味着例如读取一个大文件,随机访问意味着读取不同文件的单个部分。

如果您寻找用于数据库的驱动器,您应该寻找:

  1. 企业级、商业级或服务器级 SSD,SLC(最好,但最贵)或 MLC 类型。尽量避免使用 TLC 类型的 SSD 磁盘。

  2. 至少两个,以形成 RAID 并防止数据丢失。数据库的最佳 RAID 策略是使用尽可能多的磁盘进行 RAID10。如果只有两个磁盘,请使用 RAID1(镜像)。如果您需要性能,请避免使用 RAID5 或 RAID6 进行数据库存储。SSD 的写入周期有限,在写入周期结束时,SSD 会立即失效。然后您需要拥有数据的镜像副本,以尽快替换发生故障的 SSD。

  3. 理想情况下,使用带有电池备用装置和 RAM 的 RAID 控制器来缓存均匀写入。

  4. 高 IOPS。数据库读取和写入相当多的较小事务。IOPS 比高吞吐量更能带来好处。

  5. 吞吐量。这是最不重要的一点。只有在进行备份或恢复时,高吞吐率才能为您带来好处。

根据评论更新答案:

  • 如果您的存储位于 Oracle 支持的 Solaris 或 Illumos 或类似产品上,则软件 RAID 可以作为一种解决方案。那么就不需要硬件 RAID 控制器了,因为 ZFS 在没有硬件 RAID 控制器的情况下,可以很好地处理高 IOPS 数据库负载。硬件 RAID 控制器甚至会减慢您的设置速度。

  • 我绝对不建议使用 Linux 软件 RAID (mdraid)。它适合高吞吐率,但 IOPS 率非常低。这对于文件服务器来说很好,但对于数据库服务器来说则不然。

答案2

一般来说,兆字节/秒是衡量驱动器吞吐量的指标,而 IOPS 表示每秒 I/O 操作数,是详细描述驱动器随机 I/O 性能的一种方式。

制造商提供的两种测量方法都存在误差。吞吐量将受到 SATA/SAS 拓扑、磁盘背板(如果存在)和 RAID 或存储控制器的限制。IOPS 通常是在理想条件下报告的,数据集有利于基准测试。

其他属性也会影响 SSD 的性能,例如延迟、耐用性、过度配置水平、接口类型、容量、缓存和写保护。

看:SSD 硬盘和机械硬盘一样可靠吗(2013)?

我问你是否可以提供更多关于固态硬盘应用的详细信息,以及涉及的服务器硬件和操作系统类型。这些信息将大有帮助,因为你真的无法只需安装任何固态硬盘在服务器中。设备选择也将由服务器硬件和兼容性决定。

相关内容