EC2实例上的实时突发IO平衡

我正在尝试使用60 GiB gp2卷来诊断ec2实例上的一些磁盘性能问题。 云计算指标看起来不是很好。 有没有办法实时查看爆发的平衡,例如通过拖入一些文件,当ssh'ed到机器?

这是不可能的,因为这些度量不是来自实例内的。 突发平衡由EBS维护,而不是EC2。 在计算的基础架构中,没有logging,但在任何情况下,它都是虚拟机的外部。

从你的实例中观察高粒度的I / O可以用iostat来完成。 我发现参数-x 1是有用的。 最右边的%指标可以让您了解您的实例对基于等待时间驱动音量的难易程度的看法。

接近100%的数字意味着你正在饱和一些东西,尽pipe这是一个复杂的因素组合。 当从快照创buildEBS卷并仍在升温时,即使您只能看到5到10 MB / s的吞吐量,通常也会看到接近100%的利用率,因为您正在饱和的是EBS内的预热过程(从快照数据将数据块加载到卷上;这个后台任务允许从快照中快速创build大容量 – 数据在逻辑上位于新卷上,但可能不在物理上位于新卷上) 。 将实例的以太网带宽饱和到EBS也会导致较高的%值,即使卷本身具有可用的空闲容量也是如此。


奖金:这里有一点我想出来让iostat更像是一个“控制台”视图,而不是连续滚动屏幕。 它使用系统perl添加一些ansi转义序列来重新格式化输出。 像在Ubuntu上写的一样,大概也在亚马逊Linux上运行。 运行iostat似乎在系统上实际上没有任何有意义的负载,所以在任何服务器上都应该是安全的。

 iostat -x 1 | perl -pe 'BEGIN { $_ = 1; print "\e[1;1H\e[0J" } print "\e[3;1H" if /^avg\-cpu/; chomp; $_ .= "\e[0K\n"'