标签: iops

为什么 IOPS 很重要?

我了解什么是 IOPS 和吞吐量。吞吐量以 MB/s 为单位衡量数据流,IOPS 表示每秒发生的 I/O 操作数。

我不明白的是为什么许多存储服务只显示它们提供的 IOPS。我真的看不到任何我更愿意知道 IOPS 而不是吞吐量的情况。

为什么 IOPS 很重要?为什么 AWS 主要以 IOPS 显示其存储配置?IOPS 在哪些方面比吞吐量 (MB/s) 更相关?


编辑:

有些人正在研究这个问题,就好像我问什么是随机访问以及它如何影响性能或 HDD 和 SSD 的工作原理......对此,这不是问题的目标,问题是关于“当我看到 IOPS 数字时,我会获得哪些新信息,而我不会看到吞吐量 (MB/s) 数字?”

performance storage iops amazon-web-services

34
推荐指数
3
解决办法
1万
查看次数

RAID 级别对 IOPS 的影响

关于 IOPS,我在网上看到几个消息来源表明给定磁盘数量的 IOPS 只是单个磁盘的 IOPS 乘以磁盘数量。

如果我对 IOPS 的理解是正确的(我完全不确定),我会认为现实将取决于 - 在许多其他因素中 - RAID 级别。使用 RAID 1/10,所有数据都至少在两个磁盘上复制,从而减少了某些 IO 模式在特定磁盘上的争用。但是,在条带化 RAID 级别(例如 RAID 0/5/6)中,数据是分布的而不是复制的,这意味着连续的读取请求可能针对同一主轴,从而导致在前一个 IO 完成时发生阻塞。写的更有争议。

我应该补充一点,由于各种优化和其他因素,我意识到现实要复杂得多。我的问题实际上只是在非常基本的层面上推动我对 IOPS 含义的理解是否在正确的轨道上。可能是我断言 IOPS 甚至可能以这种方式受到 RAID 级别的影响,这表明对该概念的基本误解。

raid performance storage iops

14
推荐指数
1
解决办法
9581
查看次数

ZFS:在 zpool 中的所有磁盘上重新分配 zvol?

有没有办法可以提示 ZFS 在其 zpool 中的所有磁盘上重新分配给定的文件系统?

我正在考虑一个场景,我有一个固定大小的 ZFS 卷,它通过 FC 导出为 LUN。现在的zpool很小,只有两个1TB的镜像盘,zvol总共750GB。如果我突然将 zpool 的大小扩展到 12 个 1TB 磁盘,我相信 zvol 仍将有效地仅“容纳”在前两个主轴上。

鉴于更多心轴 = 更多 IOPS,我可以使用什么方法在所有 12 个心轴上“重新分配”zvol 以利用它们?

zfs iops zvol

13
推荐指数
1
解决办法
8076
查看次数

磁盘IOPS与sar tps的关系

我正在尝试估计在 32 位 CentOS 6.2 上运行的应用程序的 IOPS 要求。我开始在一台带有 SATA 磁盘的机器上进行一些测量,我对 sar 测量的 IOPS 和 tps 之间的差异感到非常困惑。

根据维基百科SATA 磁盘应该执行 75-100 IOPS。ioping 实用程序似乎为随机访问测试确认了这一点:

# ./ioping -R /dev/sda
--- /dev/sda (device 931.0 Gb) ioping statistics ---
279 requests completed in 3.0 s, 92 iops, 371.3 kb/s
min/avg/max/mdev = 2.7 ms / 10.8 ms / 130.8 ms / 7.9 ms
Run Code Online (Sandbox Code Playgroud)

但是 sar 产生的 tps 值要高得多(/dev/sda):

# iostat 1
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
       0.17    0.00    2.02   14.86    0.00 …
Run Code Online (Sandbox Code Playgroud)

linux performance hard-drive iops sar

13
推荐指数
2
解决办法
3万
查看次数

存储 IOPS 如何根据磁盘容量变化?

在所有其他条件相同的情况下,如果使用更大的磁盘,存储阵列的 IOPS 性能将如何变化。

例如,以一个具有 10 X 100GB 磁盘的阵列为例。

测量连续 256kb 块写入的 IOPS(或任何 IOPS 指标)

让我们假设所测得的 IOPS 为 1000 IOPS。

将阵列更改为具有 10 X 200GB 磁盘的阵列。使用相同的 RAID 配置、相同的块大小等进行格式化。

人们会期望 IOPS 保持不变、增加还是减少?变化是大致线性的吗?即增加 2 倍或减少 2 倍(因为我已将磁盘容量增加了 2 倍)

使用 10 X 50GB 磁盘重复这些问题。

编辑:更多上下文

这个问题是我的 Sysadmin 团队之间的一次对话导致的,该团队并不精通所有存储。(适用于存储的许多方面,但不适用于管理 SAN 或其他方面的细节)。我们收到了一大堆新的 Netapp 托盘,每个磁盘的磁盘容量比我们现有的托盘更高——双倍容量。有人评论说,新托盘的 IOPS 会更低,因为磁盘更大。然后出现了一个汽车类比来解释这一点。这两条评论都不适合我,所以我想把它交给 The Team,即 Stack-Exchange-land。

汽车类比是关于两辆汽车,加速度不同,最高速度相同,行驶四分之一英里。然后将距离更改为半英里。实际上,我不记得确切的类比,但由于我在 interwebz 上发现了另一个类似的类比,我认为这可能是一个常见的 IOPS 类比。

在某些方面,问题的实际答案对我来说并不重要,因为我们不会使用这些信息来评估购买。但是我们确实需要评估将托盘连接到现有头部的最佳方法,以及雕刻出聚集体和体积的最佳方法。

performance storage hard-drive iops

12
推荐指数
3
解决办法
1万
查看次数

在 Linux 中测量 IOPS

我如何知道我的 Linux 系统可以处理多少 IOPS?

linux iops

9
推荐指数
2
解决办法
9505
查看次数

亚马逊:我怎么知道我是否需要预置 IOPS?

我们最近搬到了 Amazon Web Servers,并且仍在学习我们的方法。我们的 EC2 Web 实例和我们的 RDS MySQL 实例(现在我们每个只有 1 个)似乎运行良好。但我想知道我们是否可以从它们中获得更好的性能。

我们确实运行了一个非常小的站点,但是由于 MySQL 端的大量聚合,某些页面仍然需要一段时间才能加载。

这是我们当前的统计数据:

EC2 网络服务器使用 (c3.large) UE2 使用

RDS (MySQL) 用法 (db.m1.large) RDS使用

其中,只有 DB (db.m1.large) 是“Provisioned IOPS Optimized”。

  1. 非“PIOPS 优化”实例是否仍然受益于预置 IOPS?或者我们应该为我们的 EC2 Web 服务器考虑不同的实例类型?

  2. 有了这些统计数据,我们是否还需要预置 IOPS?我们会看到任何好处吗?

  3. 如果预置 IOPS 有帮助,我怎么知道我需要多少?我怎么能测试这个?

amazon-ec2 iops amazon-web-services amazon-rds

8
推荐指数
1
解决办法
2万
查看次数

在 LVM 中使用单个磁盘分区时的 IOPS 行为是什么?

我有一个 ubuntu 14.04.1 LTS 服务器,它具有带有逻辑卷的 LVM(由硬件 RAID5 支持)和一个名为“dbstore-lv”和“dbstore-vg”的卷组,它们具有从同一个 sdb 磁盘创建的 sdb1 sdb2 sdb3。该系统为42核和约128G内存。虽然我没有看到htop来自uptime~43+的负载平均输出中的CPU 峰值以及 vmstat 显示恒定的 iowait 为 20-40,其中context switches不断在 80,000-150000 左右,在高峰时段甚至更多,但 CPU 空闲时间也徘徊在附近70-85。下面是输出iostat -xp 1%util恒定为100%

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           8.91    0.00    1.31   10.98    0.00   78.80

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00   264.00    0.00   58.00     0.00  1428.00    49.24     0.02    0.28    0.00    0.28   0.21   1.20
sda1              0.00     0.00 …
Run Code Online (Sandbox Code Playgroud)

linux optimization performance performance-tuning iops

8
推荐指数
1
解决办法
343
查看次数

如何在 AWS RDS 上计算当前 IOPS 使用情况和 IOPS 信用计数和图表

我在 AWS 上有一个正在运行的 Mysql db.m3.medium RDS 实例,使用 20GB SSD 运行,如下所示:RDS 机器描述

过去一小时的写入和读取操作如下:磁盘操作

看起来 max(write)+max(read) 操作总数约为 50/秒,这意味着它低于 3 * disk_capacity = 3 * 20 = 60 iops/秒。因此,这意味着每秒我的信用余额都会获得额外的 10 iops。

考虑到这一点,我当前的信用计数是该时间段(1小时)之前的信用计数+总和(每个第二时间范围的信用余额)?

这是计算当前 IOPS 使用情况和信用累积/计数的正确方法吗?

如果是这样,则没有 AWS 图表显示 IOPS 积分使用情况,因为有 CPU 积分使用情况,对吗?

mysql iops amazon-web-services amazon-rds

7
推荐指数
1
解决办法
2万
查看次数

我可以使用 bonnie++ 确定磁盘阵列上的 IOPS 吗?

我想测量 RAID6 阵列与 RAID10 阵列的读写性能。我知道bonnie++可用于计算磁盘性能,但 bonnie++ 生成的数字不包括“IOPS”等术语。如今,许多磁盘性能文章和指南都提到了“IOPS”。

如何使用 bonnie++ 计算磁盘阵列的 IOPS。如何确保我的测试测试的是磁盘的实际 I/O 而不是系统缓存?

以下是我的一台服务器的一些示例统计数据。这些字段之一会报告类似于 IOPS 的数字吗?

# bonnie++ -q -d /data -u root
Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
hosta.example. 11680M   680  99 281780  26 133389  18  3955  99 382518  24  1097  31
Latency             12070us     124ms     406ms    8065us   60074us   36903us
Version  1.96       ------Sequential …
Run Code Online (Sandbox Code Playgroud)

storage iops

6
推荐指数
1
解决办法
1万
查看次数