【发布时间】:2020-10-07 03:50:28
【问题描述】:
我们遇到了一个有趣的问题,我们在 EC2 实例上看到 CPU 峰值,同时我们看到磁盘延迟峰值。这是 CPU 峰值的模式
- CPU 在 30 秒内从 50% 飙升至 100%
- 在两分钟内保持 100% 利用率
- CPU 利用率在 10 秒内从 100 下降到几乎为 0。同时几乎磁盘延迟也恢复正常
这个问题在不同的 AWS ec2 实例上已经在一周内发生了几次,并且仍然在发生。在所有情况下,我们都会看到 CPU 峰值以及磁盘延迟,其中 CPU 峰值具有与上述类似的模式。
我们使用了进程监控工具来检查是否有任何特定进程占用了 CPU。该工具显示 ec2 实例上的每个进程开始占用大约两倍的 CPU。例如,我们的应用服务器 CPU 利用率从 .75% 增加到 1.5 。 Nginx 和其他进程的类似观察。没有一个进程占用超过 8% 的 CPU。我们研究了我们的交通模式,没有什么异常会导致这种情况。所以问题是
- 磁盘延迟增加会导致 CPU 峰值模式如上所述,或者磁盘延迟通常会导致 CPU 峰值
【问题讨论】:
-
当然有可能,但对于表现良好的代码听起来不太可能。你能提供更多细节吗?例如什么程序正在运行,你如何测量这些东西?你有什么东西同时出现在日志中吗?例如您的代码之前正在执行的操作,或者某个守护进程正在唤醒?
-
能否提供您的 EC2 和 EBS 设置? (实例类型、EBS 类型和大小...)
标签: amazon-ec2 cpu-usage disk latency