首页 > 解决方案 > 在 Laravel 中遇到缓慢的启动时间

问题描述

我接手了一个项目,注意到它们的启动时间平均为 2-3 秒,但使用 Laravel Debugbar 时发现它们的启动时间达到了 9-10 秒。

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

现在我的问题是,基于这些因素,我可以做些什么来尝试找出真正的问题是在旧版本中启动时间延迟(请注意,它会定期更新到最稳定的 Laravel 版本,所以从 Laravel 4.1 或任何东西开始,它就不老了)?我讨厌不得不重建整个事情,但绝对更喜欢在这些缓慢的时间对于一个我不会认为简单但绝对不复杂的项目。

我希望 Laravel Debugbar 能给我我需要的提示,但就我而言,延迟肯定与数据库无关......

我应该提一下,我已经使用了常规的缓存工匠命令,例如 route、viewconfig:cache等。会话缓存和一般缓存是通过 Redis 处理的。

标签: laravellaravel-5

解决方案


我会检查在请求的生命周期中执行了哪些服务提供者和中间件。但我给你一个清单,列出我会做些什么来调试这些东西。

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

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

  • 使用没有中间件的新控制器创建新/test路由并检查该路由的访问时间。如果它很快,那么有一些英国媒体报道软件正在为其他路线执行。

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

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


推荐阅读