我对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的总和
如果你能负担得起保持你的工具不断运行试试这个https://www.metricly.com/iops-calculator-for-ebs-volumes