随机缓慢的响应时间使应用程序在beantalk上崩溃

时间:2019-10-25 15:20:51

标签: php laravel amazon-elastic-beanstalk http-status-code-504 mysql-slow-query-log

我们有一个使用laravel在弹性beantalk上运行的php应用程序,该应用程序已经运行了将近2年。从过去的2周(近3周)以来,我们一直在随机获得非常高的响应时间,这导致数据库连接被塞满,然后由于连接过多而导致应用程序崩溃。第一次发生之前,对代码的唯一更改是在一个月前,而且只是很小的更改。

这种情况发生时,beanstalk监视部分中的所有内容都会保持稳定,但目标响应时间可能长达40秒。由于服务器到此为止无法执行任何操作(一切都超时了),所以我别无选择,只能重新部署相同版本的应用程序以重置服务器,在那之后,我们最好花一天时间或2,然后再次发生。

我已经实现了Laravel望远镜,以查看是否能对发生的请求有任何了解,但我能看到的是,一些非常简单的请求开始耗时4到150秒,而没有明显的原因。此外,当应用稳定后,我注意到望远镜正在记录一些耗时200ms的慢数据库查询,而当我直接在mySQL工作台中尝试这些查询时,耗时约31ms。

望远镜仅记录需要3秒钟以上的请求,也许我应该更改它以记录所有内容?但是我们的流量很大,所以我觉得很难在其中找到任何东西。我目前不确定该怎么办。你们会怎么调试呢?

0 个答案:

没有答案