我有一个在 ec2 实例上运行的 Java 应用程序。该实例上还运行着 Nginx 和 mongodb。该应用程序通过 ELB 访问,ELB 将请求转发到该实例。我运行着完全相同的实例的两个版本,其中一个版本的流量略多于另一个版本(因为其中一个版本为两个应用程序提供资产)。但是,只有主要的资产服务实例会崩溃。
大多数早晨,ec2 实例都会崩溃,因此应用程序不再运行,我收到来自 sns 的短信。通常是在 UTC 凌晨 4:01(这似乎不是巧合),但也有其他故障时间,从凌晨 1:26 到凌晨 5:21。
这很奇怪,因为应用程序在白天使用,而不是在晚上使用。我已经通过实例上的 nginx 日志和应用程序日志证实了这一点。
该实例是 t2.micro,但在增加它之前,我想了解问题的原因,因为在其高峰使用时间,它似乎可以很好地处理事情,并且它为什么在清晨失败不太合理。
问题发生时,CPU 使用率略有上升,从约 2% 上升至约 8%。
可疑统计数据是在崩溃前 ebs 卷上的读取带宽出现大幅飙升,并且似乎一直保持到重新启动。
我所知道的卷上的唯一活动是 mongo 备份跳转,它转储数据库并在凌晨 2:40 将档案上传到 s3
有人能告诉我这是什么原因造成的吗?如果这些信息不够,请见谅