![从我的 AWS EC2 上的应用程序查找 EBS 卷的当前 IOPS 使用情况](https://linux22.com/image/605123/%E4%BB%8E%E6%88%91%E7%9A%84%20AWS%20EC2%20%E4%B8%8A%E7%9A%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%9F%A5%E6%89%BE%20EBS%20%E5%8D%B7%E7%9A%84%E5%BD%93%E5%89%8D%20IOPS%20%E4%BD%BF%E7%94%A8%E6%83%85%E5%86%B5.png)
我对 AWS 和磁盘性能还比较陌生。我试图弄清楚我的应用程序需要多少预置 IOPS 才能表现良好。
目前,我的 PHP 和 MySQL 应用程序托管在附加了简单 EBS 卷的 EC2 实例上。EBS 卷的监控提供了读取吞吐量和写入吞吐量以及其他一些矩阵。如何从读取吞吐量(~ 400 Ops/s)和写入吞吐量(~ 4000 Ops/s)数据中找到当前 EBS 卷的 IOPS?
如果我采用每秒操作数的单位,IOPS 会达到大约 4.5K,我认为这是不正确的,因为简单的 EBS 卷只能在 100 IOPS 和偶尔几百 IOPS 上正常工作。
答案1
iostat
在您的应用程序/实例中,我会尝试跟踪受控应用程序运行期间的输出。也许iostat -x 1
在终端窗口中。
我也喜欢collectl 实用程序观看此输出。nmon 是一个很好的工具也为此。
答案2
您可以在cloudwatch中检查
检查 EBS 指标并选择 VolumeWriteOps(指标名称)
从图中任意取样
例如
数据点:152398,2011-02-10T07:54+0000(图表中任意最高计数)
so it means 152398 IOPS for 10 mins intervel
计算 1 分钟
152398 IOPS / 10 minutes = 15239.8 IOPS/minute
然后计算60 seconds
15239.8 IOPS / 60 seconds = 253.996666667 IOPS/second
你的音量253
平均值是多少IOPS / seconds
答案3
我已经与 AWS 支持人员就此问题进行了很长时间的讨论
补充 Ramesh 所写的内容
IOPS 的计算方式为 VolumeReadOps + VolumeWriteOps 的总和
如果你有能力让你的工具持续运行,请尝试一下 https://www.metricly.com/iops-calculator-for-ebs-volumes