每次部署后 Amazon EC2 Linux PHP 速度变慢

Amazon EC2 Linux PHP slowing down after each deployment

我有一个 EC2 服务器 运行 一个 Laravel 应用程序,由 RDS MySql 数据库驱动。每次我部署该应用程序时,它都运行良好,但在使用大约 1 周后,它变得越来越慢,直到最终该站点根本无法加载(对于任何访问者)并导致 502 错误。一个我重新部署应用程序(因此重新启动服务器)它工作正常,然后开始再次变慢。

导致此类应用程序资源持续耗尽的可能原因是什么?尝试过 Cloudwatch 和服务器日志后,我找不到任何接近其限制的资源,但该行为仍然存在。 (CPU、CPU 制作人员、连拍、内存等...)

谢谢。

502 错误表明 Web 服务器和应用程序处理程序之间的通信存在问题 - 很可能是由于您的实例 运行 由于它是微型实例而导致内存不足(猜测)。在这种情况下,我还假设您使用的是 PHP-FPM.

尝试仅重新启动 PHP-FPM 并查看您的网站是否再次响应。这将告诉您您的问题很可能发生在应用程序层。

Tail Web 服务器错误日志 - 如果您不确定,您应该在此处了解导致问题的原因 post。

如果您的应用程序在规定的时间内没有响应网络服务器,这也会导致问题 - 检查您的 PHP.ini 是否有以下参数:

max_execution_time = 30

如果使用 Nginx,您还需要修改配置以增加此处的超时时间。查找以下参数:

fastcgi_connect_timeout 300;

完成此操作后,您可能想要创建一个交换文件。要么是这个,要么增加您的实例大小。您的问题确实不太可能是 RDS 或网络问题(显然),因为您 运行 您的应用所在的基础设施。

OPS note I checked the error logs using the following method : https://www.bigappledesigns.com/2013/06/how-to-access-apache-web-server-httpd-error-logs-for-amazon-ec2-linux-and-most-other-linux-varieties-also/ This revealed several "out of memory" messages.