我最近注意到我在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
这是因为t2 / t3。* EC2实例的CPU信用和限制限制而出现意外情况。 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