每次部署后,Amazon EC2 Linux PHP变慢

时间:2018-09-24 07:58:30

标签: php mysql amazon-web-services amazon-ec2 sysadmin

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

此类应用会持续消耗资源的可能原因是什么?尝试了Cloudwatch和服务器日志后,我找不到任何接近其限制的资源,但是该行为仍然存在。 (CPU,CPU积分,突发,内存等...)

谢谢。

1 个答案:

答案 0 :(得分:2)

502错误提示Web服务器与应用处理程序之间的通信问题-最有可能是由于实例是微型(猜测)导致实例内存不足而引起的。在这种情况下,我还假设您正在使用PHP-FPM。

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

尾部Web服务器错误日志-如果您不确定发布内容,则应该在此处指出导致问题的原因。

如果您的应用在指定的时间内没有响应Web服务器,这也会引起问题-检查PHP.ini中的以下参数:

max_execution_time = 30

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

fastcgi_connect_timeout 300;

完成此操作后,您可能希望创建一个交换文件。这是或者增加实例大小。 (显然)由于运行应用程序的基础结构,您的问题实际上不太可能是RDS或网络问题。

  

操作说明   我使用以下方法检查了错误日志: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/   这显示了几个“内存不足”消息。