ec2 内存不足,Apache 随机峰值

ec2 内存不足,Apache 随机峰值

在过去的一年里,我们持续出现随机峰值,导致 apache 使用所有内存并进行交换。

服务器正常运行时间

服务器正常运行时间

我有一个最近一次崩溃的例子(UTC 时间上午 5:30 - 下午 12:00)。

OOM 内核转储

OOM 内核转储

EC2 日志

EC2 日志

RDS 日志

RDS 日志

崩溃前的 404 错误

崩溃前的 404 错误

我不想增加 ec2 实例资源,因为在正常情况下它足以处理流量。

我可以采取什么措施来记录这些峰值的来源,并采取解决方案来防止这些峰值导致网站崩溃?

更新

我可以确认,前两次崩溃都是在属于网宿科技的一组 IP 地址发出大量 404 请求之后立即发生的。

更新 2:

通过减少提供 404 页面所需的内存解决了该问题。

答案1

查看崩溃前后的 Apache 日志会很有启发。您可能执行了一些简单的 cron 作业,导致 Apache 服务崩溃,或者您可能启用了 Apache 以仅接受指定数量的并发连接,而​​您的用户群在一天中的不同时间涌入,导致达到此限制。

您甚至可能正在运行日志轮换,这会导致资源激增。如果没有 Apache 错误日志,就无法确定,但这些是可以检查的一些可能性。

相关内容