Amazon web services Beanstalk应用程序CPU峰值

Amazon web services Beanstalk应用程序CPU峰值,amazon-web-services,docker,amazon-elastic-beanstalk,Amazon Web Services,Docker,Amazon Elastic Beanstalk,我们在AWS elastic beanstalk上运行一个docker容器,该容器在几周内运行良好,但突然开始出现非常突然的CPU峰值(在几分钟内从~5%到~60%),有时会快速下降,有时会在足够长的时间内保持高位,以生成自动缩放事件,并启动一些实例以获得额外帮助(在CPU峰值消失后的一段时间内终止) 有趣的是,我今天想调查这个问题,所以我调查了每个实例(总共4个),并对所有实例运行top,试图找到CPU消耗进程,并惊讶地发现所有实例都有约15%的CPU繁忙(系统+用户组合),虽然EBS监控页面

我们在AWS elastic beanstalk上运行一个docker容器,该容器在几周内运行良好,但突然开始出现非常突然的CPU峰值(在几分钟内从~5%到~60%),有时会快速下降,有时会在足够长的时间内保持高位,以生成自动缩放事件,并启动一些实例以获得额外帮助(在CPU峰值消失后的一段时间内终止)

有趣的是,我今天想调查这个问题,所以我调查了每个实例(总共4个),并对所有实例运行
top
,试图找到CPU消耗进程,并惊讶地发现所有实例都有约15%的CPU繁忙(系统+用户组合),虽然EBS监控页面仍显示服务器的CPU率为60%。 我已经在一个小时的大部分时间里测量了这些数字,确保CPU高负载保持在高水平,而
top
命令仍然显示低值

我还尝试使用这里的建议来测量CPU,并且在直接查询服务器时得到了相同的非常低的CPU统计数据

我的问题是-是否有可能AWS监控系统没有向我显示准确的数据?是否仍然需要验证监控页面中显示的数据


任何帮助都将不胜感激。

因此AWS监控系统显示每个实例的利用率为60%,对吗?每个实例的“top”显示为15%?实际上,AWS beanstalk并没有单独显示每个实例的CPU,而是所有实例的平均值。您的问题让我深入了解了这一点,因为我分别查看了所有EC2服务器,发现虽然top命令中显示的计算量约为15%,但有一个进程消耗了约60%的CPU功率(我猜这60%相当于整个实例处理功率的15%)谢谢。你们现在都准备好了吗?我相信是的,我猜我只是误读了统计数据。所以AWS监控系统显示每个实例的利用率为60%,对吗?每个实例的“top”显示为15%?实际上,AWS beanstalk并没有单独显示每个实例的CPU,而是所有实例的平均值。您的问题让我深入了解了这一点,因为我分别查看了所有EC2服务器,发现虽然top命令中显示的计算量约为15%,但有一个进程消耗了约60%的CPU功率(我猜这60%相当于整个实例处理功率的15%)谢谢。你现在都准备好了,对吗?我相信是的,我想我只是误读了数据。