我已经接管了一个项目,并注意到他们的启动时间是惊人的平均出2-3秒,但看到他们命中高达9-10秒使用拉拉维尔Debugbar。
现在,为了确定它的来源,我在同一个服务器下并使用相同的MySQL服务器创建了一个新的应用程序。我甚至已经为一个基本的页面重新创建了刀片,两者之间的差异是巨大的。引导平均减少到3.4-5.6ms,所有这些都使用相同的数据库、相同的服务器和相同的刀片模板(至少在一个例子中是这样)。
现在我的问题是,基于这些因素,我能做些什么来找出真正的问题是在旧版本中引导时间延迟(请注意,它定期更新到最稳定的Laravel版本,所以它在Laravel 4.1或其他任何版本中都不老)?我不想重建整件事,但我绝对喜欢这样做,而不是那些我不认为简单但也不复杂的项目。
我希望Laravel能给我一个我需要的提示,但是在我看来,延迟和数据库没有任何关系.
我应该提到的是,我已经经历过常规的缓存程序命令,如路由、视图、config:cache等。会话缓存和通用缓存是通过Redis处理的。
发布于 2019-05-27 20:29:28
我会检查在请求的生命周期中执行哪些服务提供者和中间件。但我给出了一个清单,列出了我要做些什么来调试这些东西。
'providers'中的config/app.php,并禁用“应用程序服务提供者”部分下的所有内容。app/Kernel.php下的中间件配置,看看是否有可疑之处。/test路由,没有中间件,并检查该路由的访问时间。如果它是快速的,那么有一些臃肿的软件正在执行的其他路线。php artisan应该是即时的https://stackoverflow.com/questions/56332070
复制相似问题