在Laravel中经历缓慢的启动时间

时间:2019-05-27 20:23:02

标签: laravel laravel-5

我已经接手了一个项目,并且注意到它们的启动时间平均要花2-3秒,但使用Laravel Debugbar可以看到它们达到9-10秒。

现在,尝试确定其来源,我在同一台服务器下并使用同一台MySQL服务器创建了一个新应用程序。我什至已经重新创建了基本页面的刀片,差异非常大。在使用相同数据库,相同服务器和相同刀片模板的情况下,启动时间平均下降到平均3.4到5.6毫秒(至少在示例中如此)。

现在我的问题是,基于这些因素,我有什么办法可以尝试找出导致启动延迟的真正问题所在的位置(请注意,它会定期更新为最稳定的版本) Laravel,所以从Laravel 4.1或其他版本开始,它还不算老)?我不希望不得不重新构建整个项目,但是绝对希望在那些我认为不简单但绝对也不复杂的项目中,在这些缓慢的时间里。

我希望Laravel Debugbar可以给我我需要的提示,但是就我而言,延迟绝对与数据库无关...

我应该提到,我已经完成了常规的缓存工匠命令,例如route,view,config:cache等。会话缓存和常规缓存是通过Redis处理的。

1 个答案:

答案 0 :(得分:2)

我将检查在请求的生命周期内执行了哪些服务提供商和中间件。但我给您列出了调试这些东西的方法。

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

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

  • 使用没有中间件的新控制器创建新的/test路由,并检查该路由的访问时间。如果速度很快,那么可以为其他路由执行一些膨胀软件。

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

  • 在MySQL中启用查询日志,并检查所有查询以获取简单请求。