首页 > 解决方案 > AWS ElasticBeanstalk 定期关闭

问题描述

我最近注意到我在 AWS Elasticbeanstalk 设置中的 laravel 项目表现得很奇怪。服务器将在几分钟内关闭。在 t3.small 中,它每 50 分钟下降一次。健康选项卡说内存耗尽或什么的。它会“严重”大约 5-10 分钟,然后在我不做任何事情的情况下恢复。基本上只是整个曲折的监控。在 t3.nano 中,它大约每 5 分钟下降一次。

以下是我所做的一些我怀疑是原因的事情

以下是一些事实:

这是我对日志的观察 - 有一个与 Apache 相关的“内部虚拟连接”。记录它的时间与停机时间发生的时间相同。

我已经尝试了日志上的每一个提示,包括在 cronjob 上的不同设置和其他可能的原因。我也试过问我的同行,但以前没有人遇到过这样的错误。事实上,他们测试了我的 cronjob,它对他们来说工作正常。

我在 /var/log/httpd/error_log 中也有这个错误

[Fri Nov 23 19:07:35.208657 2018] [suexec:notice] [pid 3142] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [Fri Nov 23 19:07:35.228633 2018] [http2:warn] [pid 3142] AH10034: The mpm module (prefork.c) is not supported by mod_http2. The mpm determines how things are processed in your server. HTTP/2 has more demands in this regard and the currently selected mpm will just not do. This is an advisory warning. Your server will continue to work, but the HTTP/2 protocol will be inactive. [Fri Nov 23 19:07:35.228644 2018] [http2:warn] [pid 3142] AH02951: mod_ssl does not seem to be enabled [Fri Nov 23 19:07:35.229188 2018] [lbmethod_heartbeat:notice] [pid 3142] AH02282: No slotmem from mod_heartmonitor [Fri Nov 23 19:07:35.267841 2018] [mpm_prefork:notice] [pid 3142] AH00163: Apache/2.4.34 (Amazon) configured -- resuming normal operations [Fri Nov 23 19:07:35.267860 2018] [core:notice] [pid 3142] AH00094: Command line: '/usr/sbin/httpd -D FOR

标签: apacheamazon-web-serviceslaravel-5amazon-ec2amazon-elastic-beanstalk

解决方案


这是一个意外的 CPU 积分和 t2/t3.* EC2 实例的节流限制的案例。1 个 CPU 积分允许 (t2/t3) 实例以 100% CPU 运行 1 分钟。所有 t2/t3.* 实例 CPU 积分都以每小时固定的速率为正在运行的实例补充(此速率取决于实例类)。因此,长时间的负载(超过某个阈值)将逐渐耗尽这些信用,导致您在上面描述的状态。

建议使用更高层级的实例(m3.medium 及更高版本)来持续维持生产工作负载。在多个实例前面放置负载均衡器也是保持可用性的好方法。

可以在此处找到更多信息:https ://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html


推荐阅读