随着企业逐步转向实时数据处理、云计算和高性能工作负载,存储系统的性能已经成为 IT 基础设施规划中的关键环节。存储系统的速度会直接影响应用程序的响应速度、系统的可扩展性,以及系统是否有能力避免性能瓶颈。“每秒读写操作次数 (IOPS)”是评估存储系统性能时最常用的指标之一。
对企业而言,存储系统当然越快越好,但如何衡量其速度?IOPS 提供了一种具体的方法,可以衡量存储系统在处理频繁的数据请求时的效率。了解 IOPS 有助于企业在存储系统设计、容量规划和工作负载优化等方面做出明智的决策。
什么是 IOPS?
IOPS 的定义:“每秒读写操作次数 (IOPS)”指的是存储设备每秒能够完成的读/写操作次数。它是在评估 HDD、SSD 和存储区域网络 (SAN) 等存储技术的性能时所采用的一种标准的基准测试方法。
IOPS 与其他性能指标(如吞吐量和延迟)是互相补充关系。吞吐量用于衡量单位时间内的数据传输量,而延迟则用于衡量单次操作所需的时间。IOPS 则侧重于衡量存储设备处理请求时的频率。因此对于会产生大量小数据量快速交易的工作负载而言,IOPS 尤为重要。
通常会在两种模式下分别测量 IOPS:随机访问模式和顺序访问模式。
存储系统可实现的 IOPS 取决于多种因素,包括存储控制器、SSD 中所使用的 NAND 闪存类型,以及用于将存储设备连接至主机系统的接口(如非易失性内存主机控制器接口规范 (NVMe™) 和串行高级技术附件 (SATA) 等)。对于需要快速传输小块数据的工作负载而言,高 IOPS 值通常至关重要。
IOPS 的工作原理是什么?
IOPS 的设计目的是量化服务器与其存储设备之间执行数据交易的频率。这些测量结果有助于 IT 专业人员判断某项存储解决方案能否满足特定应用程序的性能需求。衡量 IOPS 时有四个核心因素。
工作负载类型:决定相关操作是读取、写入还是两者的组合。大多数基准测试都会采用混合工作负载,以更好地模拟实际当中的使用情况。
访问模式:确定数据的访问方式是随机访问还是顺序访问。对存储设备而言,实现较高的随机 IOPS 要比实现较高的顺序 IOPS 困难得多。
块大小:定义每次数据传输的大小,例如 4KB 或 8KB 等。较小的块大小通常会带来更高的 IOPS 值,而较大的块大小则更有利于提高吞吐量。
队列深度 (QD):表示正在等待处理的、未完成的输入/输出 (I/O) 请求的数量。更大的队列深度可以提高操作的并行度,从而充分释放高性能 SSD 的 IOPS 潜力。在较大队列深度下,NVMe 协议等新型接口可让存储设备同时处理大量 I/O 请求,从而实现比传统接口高得多的 IOPS。
IOPS 的发展历程是怎样的?
IOPS 最初诞生于机械硬盘主导计算领域的时期,当时只是作为一种用来描述存储性能的简单方式。随着存储技术的发展,IOPS 的作用和影响力得到了显著提升。
- 20 世纪 70 年代 - 机械技术的局限:HDD 的性能受到寻道时间和旋转延迟的限制,导致其 IOPS 值通常低于 200。
- 20 世纪 90 年代 - RAID 扩展:独立磁盘冗余阵列 (RAID) 架构允许多个硬盘并行工作,通过将工作负载分散在多块硬盘上,提高了系统的总 IOPS。
- 21 世纪 00 年代 - SSD 普及以及 SATA 接口的局限:基于闪存的 SATA 接口 SSD 消除了机械延迟,将 IOPS 从数百量级提升至数万量级。然而,随着闪存技术的进步,SATA 接口很快成为了性能瓶颈。
- 21 世纪 10 年代 - NVMe 协议:随着 SSD 性能的提升,引入了 NVMe 协议接口,将存储设备从传统接口迁移到了 Peripheral Component Interconnect express(PCIe®,即外设组件互连快速通道)总线上,从而消除了接口瓶颈,并实现了大规模并行处理。NVMe 让存储设备更靠近计算核心,并能减少协议开销和显著降低延迟,从而一举将 IOPS 提升到了数十万乃至数百万的水平。
- 21 世纪 20 年代及以后 - AI 级可组合架构:AI、机器学习和实时分析应用推动了对高随机 IOPS 和低延迟存储的需求。与此同时,随着内存和存储池化等新架构的兴起以及 Compute Express Link (CXL) 等先进互连技术的出现,I/O 性能的实现方式出现了新的趋势,使得 IOPS 越来越受到系统级设计的影响,而不仅仅是存储设备本身。
IOPS 的主要类型有哪些?
可根据数据访问方式以及性能随着时间的维持情况对 IOPS 进行分类:
- 随机读取 IOPS:衡量从存储设备上的不同位置检索小数据块的速度。
- 随机写入 IOPS:衡量将小数据块写入存储介质的速度。
- 顺序读取/写入:描述连续传输大量数据过程中的性能,通常与吞吐量一起测量,以兆字节/每秒 (MB/s) 为单位表示。
- 稳态 IOPS:指设备在长时间有负载运行后仍能保持稳定的性能,对企业级 SSD 而言,这一指标尤为重要。
- 突发 IOPS:表示在因为电源、散热或控制器的限制而导致吞吐量下降之前的短期峰值性能。
IOPS 是如何应用的?
对于依赖频繁的低延迟数据访问的工作负载而言,IOPS 是一项关键性能指标。
在数据库环境中,高 IOPS 可确保查询的快速执行以及事务处理的可靠性。数据库在很大程度上依赖于小规模随机读写操作,因此 IOPS 比设备的原始吞吐量指标更具参考价值。
在虚拟桌面基础设施 (VDI) 中,高 IOPS 有助于在“启动风暴”(即大量用户同时登录或启动应用程序时)期间维持系统的性能。在这些访问高峰时段,IOPS 较低的存储系统可能会出现运行变慢或不稳定的情况。
IOPS 在 AI、汽车和端侧计算领域也至关重要。自主系统和 AI 处理管线必须能够实时摄取和检索数据。高 IOPS 存储系统可支持传感器数据的快速处理,并支持低延迟决策。
HDD 内部包含机械部件,必须通过这些部件的物理移动才能访问数据,这种机制限制了每秒可完成的操作次数。而 SSD 通过闪存以电子方式访问数据,消除了机械延迟,因此能实现更高的 IOPS。
延迟是指完成单次 I/O 操作(例如读取或写入请求)所需的总时间。高 IOPS 与低延迟相结合,代表存储性能优异,响应迅速。即使系统的 IOPS 很高,如果延迟过高,给用户的感觉也会很慢。