IOPS 与吞吐量

问题描述 投票:0回答:5
  1. 大数据存储中每秒输入/输出操作数 (IOPS) 和吞吐量之间的主要区别是什么?
  2. 文件大小对 IOPS 有影响吗?为什么?
storage throughput
5个回答
107
投票

IOPS 衡量每秒读写操作的数量,而吞吐量衡量每秒读取或写入的位数。

虽然它们衡量的东西不同,但它们通常相互遵循,因为 IO 操作的大小大致相同。

如果你有大文件,你只需要更多的IO操作来读取整个文件。文件大小对 IOPS 没有影响,因为它衡量的是读取或写入的集群数量,而不是文件数量。

如果文件较小,则会产生更多开销,因此虽然 IOPS 和吞吐量看起来不错,但实际性能可能会较低。


97
投票

这是我在谈论吞吐量和 IOPS 时想到的类比。

将其视为:

  1. 您有 4 个大小相同的桶(圆盘块),您想要装满或清空水。

  2. 您将使用水壶将水转移到桶中。现在你的问题是:

  • 在给定时间(每秒),您可以倒(写)或取出(读)多少壶水?这是 IOPS。

  • 在给定的时间(每秒),水壶可以连续地传入/传出水桶的水量是多少(bit、kb、mb 等)?这就是吞吐量。

此外,倒水和/或取水的过程会出现延迟。这就是延迟。

谈论 IOPS 和吞吐量时需要考虑 3 件事:

  • 大小(文件大小/块大小)
  • 模式(随机/顺序)
  • 混合(读/写)百分比

45
投票

磁盘 IOPS 描述每秒磁盘上的输入/输出操作数,与块大小无关。

磁盘吞吐量描述了每秒可以传输多少数据,因此块大小在计算应用程序所需的吞吐量时起着巨大的作用

让我们以 3000 IOPS 和 SQL 数据库引擎为例,数据库引擎的块大小称为“页面大小”,对于 SQL Server,它等于 8 KB。如果您想计算实际吞吐量,如果定义了 IOPS,您将得到以下公式: throughput = [IOPS] * [block size] = 3000 * 8 = 24 000 KB/s = 24 MB/s



7
投票
IOPS

- 读写操作的数量对于 AWS 中用于 Cassandra 等数据库的 OLTP 事务最有用。

吞吐量

- 每秒传输的位数。即每秒传输的数据。 主要是用于大数据hadoop、kafka流等高数据传输应用程序的单元


0
投票
IOPS

- 存储系统从开始到完成每秒执行一次输入/输出操作所花费的时间构成IOPS。

吞吐量

- 每秒兆字节的数据传输速度通常称为吞吐量。早些时候,它以千字节为单位。但现在标准已经变成兆字节了。 有关此内容的更多信息,请参阅:

IOPS 和吞吐量之间有什么区别?

© www.soinside.com 2019 - 2024. All rights reserved.