我已经接手了一个项目,并且注意到它们的启动时间平均要花2-3秒,但使用Laravel Debugbar可以看到它们达到9-10秒。
现在,尝试确定其来源,我在同一台服务器下并使用同一台MySQL服务器创建了一个新应用程序。我什至已经重新创建了基本页面的刀片,差异非常大。在使用相同数据库,相同服务器和相同刀片模板的情况下,启动时间平均下降到平均3.4到5.6毫秒(至少在示例中如此)。
现在我的问题是,基于这些因素,我有什么办法可以尝试找出导致启动延迟的真正问题所在的位置(请注意,它会定期更新为最稳定的版本) Laravel,所以从Laravel 4.1或其他版本开始,它还不算老)?我不希望不得不重新构建整个项目,但是绝对希望在那些我认为不简单但绝对也不复杂的项目中,在这些缓慢的时间里。
我希望Laravel Debugbar可以给我我需要的提示,但是就我而言,延迟绝对与数据库无关...
我应该提到,我已经完成了常规的缓存工匠命令,例如route,view,config:cache
等。会话缓存和常规缓存是通过Redis处理的。
答案 0 :(得分:2)
我将检查在请求的生命周期内执行了哪些服务提供商和中间件。但我给您列出了调试这些东西的方法。
选中'providers'
中的config/app.php
,然后禁用“应用程序服务提供商”部分下的所有内容。
检查app/Kernel.php
下的中间件配置,看是否有可疑之处。
使用没有中间件的新控制器创建新的/test
路由,并检查该路由的访问时间。如果速度很快,那么可以为其他路由执行一些膨胀软件。
检查工匠命令的响应。当执行artisan命令时,将加载所有服务提供者(但不加载中间件)。显示所有命令的简单php artisan
应该是即时的
在MySQL中启用查询日志,并检查所有查询以获取简单请求。