从我在AWS EC2上的应用程序中查找EBS卷的当前IOPS使用情况

我对AWS和磁盘性能比较陌生。 我正试图弄清楚我的应用程序需要执行多less预configuration的IOPS。

目前,我的PHP和MySQL应用程序被托pipe在附有简单EBS卷的EC2实例上。 EBS卷的监视提供了读取吞吐量和写入其他一些matrix的吞吐量。 如何从读取吞吐量(〜400 Ops / s)和写入吞吐量(〜4000 Ops / s)数据中find当前EBS卷的IOPS?

如果我以每秒的操作单位进行操作,则IOPS达到约4.5K,我认为这不是一个正确的,因为简单的EBS卷只能在100 IOPS和偶尔有几百个操作系统上运行。

从您的应用程序/实例中,我会尝试跟踪控制应用程序运行期间iostat的输出。 也许iostat -x 1在terminal窗口中。

我也喜欢collectl工具来观看这个输出。 nmon也是一个很好的工具 。

还读通过这篇文章 … 甚至比预期的陌生人:一个EC2 I / O的系统性看看

你可以在cloudwatch中查看

检查EBS指标并selectVolumeWriteOps(度量名称)

从图表中取样

例如

数据点:152398在2011-02-10T07:54 + 0000(图中的任何最高计数)

所以它意味着10分钟间隔的IOPS为152398

计算1分钟

152398 IOPS / 10分钟= 15239.8 IOPS /分钟

然后计算这个60秒

IOPS / 60秒= 253.996666667 IOPS /秒

所以253是你的平均IOPS /秒​​的音量

我一直在与AWS支持进行相当长时间的讨论

添加到Ramesh写的

IOPS将被计算为VolumeReadOps + VolumeWriteOps的总和

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html#using_cloudwatch_ebs

如果你能负担得起保持你的工具不断运行试试这个https://www.metricly.com/iops-calculator-for-ebs-volumes