【问题标题】:Laravel page load time too slow even after running artisan optimized即使在运行 artisan 优化后,Laravel 页面加载时间也太慢
【发布时间】:2019-03-30 18:01:23
【问题描述】:

在 Amazon EC2 上部署我的 website 后,我遇到了页面加载时间问题,处理请求的时间过长。

我很确定这是 Laravel 框架的问题,因为我在 bootstrap.start.php 的开头放了一个调试行:

<?php
die();

/*
|--------------------------------------------------------------------------
| Create The Application
|--------------------------------------------------------------------------
|
| The first thing we will do is create a new Laravel application instance
| which serves as the "glue" for all the components of Laravel, and is
| the IoC container for the system binding all of the various parts.
|
*/

然后它将运行得非常快,这意味着 Apache 或负载均衡器没有问题...

但如果我将调试行放在return $app; 之前:

require $framework.'/Illuminate/Foundation/start.php';
die();

那么服务器处理并退出脚本并将结果返回给浏览器的时间太长。

即使没有数据库连接,页面也很慢,只通过控制器,然后返回一个几乎静态的视图。

然后我再次尝试运行此命令:

php artisan optimized

甚至尝试过:

php artisan clear-compiled
php artisan optimized

然后网站在前几个请求中加载速度非常快,但过了一会儿,它又回到了慢速模式。

我真的不知道如何解决这个问题,因为我应用的调整至少可以工作,但很长一段时间都没有工作。

我使用的版本是 Laravel 4.2。

【问题讨论】:

  • 我怀疑您的应用程序中的某些内容会在每次请求时加载,例如 app/Services。不太可能是 Laravel 本身。
  • @ceejayoz 然后它必须在本地很慢(相同的服务,再加上一些),但事实并非如此。然后经过工匠优化后,它仍然很快。
  • 不一定 - 如果您的服务在每次浏览量上都进行 HTTP 调用,如果它们调用现在无法访问的 URL,它们可能需要很长时间才能超时,这可能会导致你所说的那种行为。
  • 我设置网络阻止出站请求,同样的事情发生了
  • @ceejayoz 为您指明了正确的方向。没有人会为您调试整个应用程序 - 尝试进行细微的更改。通读你的日志,看看你是否抛出任何错误。如果您有具体问题,人们将能够在这里提供实际帮助。

标签: laravel amazon-ec2


【解决方案1】:

经过无数小时的调查,我发现这个问题与 Laravel 无关。这是因为亚马逊 EC2 上的可爆 CPU 功能让我在调试应用程序时真正感到困惑。只需更改为无限 CPU 积分即可恢复正常。

【讨论】:

  • 这在 AWS 中很烦人。它们应该根据 CPU 利用率显示一些错误。页面被绞死了,也不能做 ssh。
猜你喜欢
  • 2016-01-26
  • 1970-01-01
  • 1970-01-01
  • 2019-04-07
  • 1970-01-01
  • 2013-10-25
  • 1970-01-01
  • 1970-01-01
  • 2012-12-13
相关资源
最近更新 更多