Laravel 启动速度缓慢

Mat*_*hew 2 laravel laravel-5

我接手了一个项目,注意到它们的启动时间平均为 2-3 秒,令人难以忍受,但使用 Laravel Debugbar 时,启动时间甚至达到了 9-10 秒。

\n\n

现在,为了确定其来源,我在同一服务器下并使用同一 MySQL 服务器创建了一个新应用程序。我什至重新创建了基本页面的刀片,差异是巨大的。在使用相同的数据库、相同的服务器和相同的刀片模板(至少作为示例)的情况下,启动时间平均可能下降到 3.4 到 5.6 毫秒。

\n\n

现在我的问题是,基于这些因素,我是否可以做一些事情来尝试找出旧版本中启动时间延迟的真正问题所在(请注意,它会定期更新到最稳定的 Laravel 版本,所以自 Laravel 4.1 或其他版本以来它并不旧)?我不想重建整个项目,但绝对更喜欢在这个缓慢的时间里重建整个项目,我认为这个项目不简单,但也绝对不复杂。

\n\n

我希望 Laravel Debugbar 可以给我所需的提示,但就我而言,延迟肯定与数据库没有任何关系......

\n\n

我应该提到的是,我\xe2\x80\x99已经执行了常规缓存 artisan 命令,例如路由、视图config:cache等。会话缓存和常规缓存是通过 Redis 处理的。

\n

Leo*_*ssi 7

我会检查在请求的生命周期中执行哪些服务提供者和中间件。但我给你列出了我将如何调试这些东西。

  • 'providers'config/app.php并禁用“应用程序服务提供商”部分下的所有内容。

  • 检查下面的中间件配置app/Kernel.php,看看是否有可疑的东西。

  • 使用新控制器创建新/test路由,无需中间件,并检查该路由的访问时间。如果它很快,那么就会有一些臃肿软件在其他路由上执行。

  • 检查 artisan 命令的响应。当执行 artisan 命令时,会加载所有服务提供者(但不加载中间件)。一个简单的php artisan命令将显示所有命令应该是即时的

  • 在 MySQL 中启用查询日志并检查来自简单请求的所有查询。