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

我试图find一个适合我的数据库服务器的SSD驱动器(postgres在debian 7 amd-64),我发现对于一些SSD驱动器,虽然读取速度是以MB / s为单位指定的,但写入速度是IOPS。 为了使事情更加复杂,有时顺序访问是以MB / s为单位的,在IOPS中是随机访问的。

这些单元如何相互比较以及硬盘(使用旧的MB / s)?

MB / s表示驱动器每秒可处理多less兆字节的吞吐量。 IOPS指出每秒可处理多less个单一操作。

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

如果您查找数据库使用的驱动器,则应该查找:

  1. SLC(最好,但最昂贵)或MLCtypes的企业,企业或服务器级SSD。 尽量避免使用TLCtypes的SSD磁盘。

  2. 至less两个,组成一个RAID,防止数据丢失。 对于数据库来说,最好的RAID策略是可以承受的磁盘数量的RAID10。 如果只有两个磁盘,请使用RAID1(镜像)。 如果需要性能,请避免使用RAID5或RAID6进行数据库存储。 SSD具有有限的写入周期,在写入周期结束时,SSD会立即失败。 然后,您希望拥有数据的镜像副本,以尽快replace发生故障的SSD。

  3. 理想情况下,使用具有电池备份单元和RAM的RAID控制器来caching写入。

  4. 高IOPS。 数据库读取和写入相当多的较小的事务。 IOPS比从高吞吐量中受益更多。

  5. 吞吐量。 这是最不重要的事情。 在进行备份或恢复时,您只能从高吞吐量中受益。

根据意见更新答案:

  • 如果您的存储驻留在Oracle支持的Solaris或Illumos或类似软件上,则软件RAID可以成为解决scheme。 不需要硬件RAID控制器,因为ZFS在没有硬件RAID控制器的情况下为高IOPS数据库负载做了很好的工作。 硬件RAID控制器甚至可能会减慢您的设置。

  • 我绝对build议不要使用Linux软件RAID(mdraid)。 这对于高吞吐率是有好处的,但它具有非常低的IOPS速率。 这对于文件服务器来说很好,但对于数据库服务器来说不是这样。

通常,兆字节/秒是驱动器吞吐量的度量标准,而IOPS表示每秒的I / O操作,这是详细说明驱动器的随机I / O性能的一种方式。

制造商提供的两种测量都充满了不准确的情况。 吞吐量将受到SATA / SAS拓扑,磁盘背板(如果存在)以及RAID或存储控制器的限制。 通常在理想条件下报告IOPS,其中有利于基准的数据集。

还有其他一些有助于SSD性能特征的属性,如延迟,耐用性,过度configuration级别,接口types,容量,caching和写保护等。

请参阅: SSD驱动器是否像机械驱动器一样可靠(2013年)?

我问你是否可以提供有关SSD应用程序的更多细节以及涉及的服务器硬件和操作系统types。 这些信息将非常有帮助,因为你真的不能在服务器上安装任何 SSD 。 设备的select将由服务器硬件和兼容性驱动。