EBS、EC2 VolumeReadBytes 与 VolumeReadOps

EBS、EC2 VolumeReadBytes 与 VolumeReadOps

我正在运行一个 EC2 m4.xlarge 实例,该实例具有 500GB Cold HDD EBS 卷,用作我正在运行的图像调整大小服务的缓存(位于 nginx 反向代理后面的缩略图)。

图像服务似乎时不时地超载,我不知道瓶颈在哪里。CPU 负载和内存似乎很好,当时似乎没有太多的流量。似乎与问题相关的一件事是,几乎每天在特定时间,VolumeReadBytes 会下降,VolumeReadOps 会跳升约半小时。我没有运行任何 cron 作业,服务器专用于提供调整大小的图像。我不知道这可能是什么。这可能是问题吗?

任何建议将不胜感激。

答案1

EBS 对 IOPS 和吞吐量有配额。有些东西已经超出 IOPS 上限,问题是什么。

有几个工具可以解决这个问题。 iotop --time --batch就是其中之一。 Brendan Gregg 的 perf-tools 脚本中的 iosnoop 是另一个,如果您想要一个 ftrace 实现。

甚至可以设置 auditd 来记录所有读取系统调用。但记录到文件 overhad 可能会占用大部分 IOPS 配额……

无论如何下定决心,您都需要做出决定,要么停止该任务,要么使用更快的存储,要么容忍这半小时内的糟糕性能。

相关内容