【问题标题】:Laravel: Should it be this slow?Laravel:应该这么慢吗?
【发布时间】:2017-04-26 22:57:22
【问题描述】:

我正在尝试让我的 laravel 应用程序运行得更快一些。我目前在同一个应用程序上托管 4 个网站,但它似乎非常慢。重新加载页面通常需要 4-5 秒,我试图将其缩短到最大约 800 毫秒,这可能吗? Laravel 应该这么慢吗?

我正在使用 Barry 的 Debugbar,结果如下:

Booting (1.38s)
Application (952.49ms)

如果有人可以提供帮助,我的网站 URL 是 http://worldrp.uk?我只是在寻找为什么它慢的原因,或者我能找到什么方法?我现在所拥有的只是启动和应用程序的时间。我目前在 Windows 机器(我自己的)上使用 XAMPP,因为我现在正在为自己开发。

【问题讨论】:

  • “所以有这部电影,里面有一个做事的人。知道我说的那个吗?”你能在这里更具体一点吗?页面速度慢的最常见原因是进行了太多或要求太高的数据库调用。您必须更深入地查看您的日志。您可能还需要禁用部分页面以查看是否可以缩小速度缓慢的根源。
  • 这与数据库调用无关(反正我不这么认为),我运行 1 个数据库调用需要 17.5 毫秒。
  • 你在使用路由和配置缓存吗? php artisan route:cachephp artisan config:cache?两者都应该节省大量的 IO 和路由处理。我相信 XAMPP 也默认带有 XDEBUG,它本身会带来很多减速。
  • 看不到代码,谁都很难说。您可以尝试一件事,将die('asdf') 扔到MVC 中各个层的应用程序中,看看哪一个花费的时间最长。从生命周期的顶部开始,可能在负责处理主页请求的控制器中,然后从那里转到模型和视图?
  • 好像是这部分代码。 $response = $kernel->handle($request = Illuminate\Http\Request::capture());

标签: php laravel


【解决方案1】:

使用redis作为缓存驱动,或许对你有帮助

编辑 app/config/cache.php 并将驱动程序更改为“redis”。

'驱动程序' => 'redis',

同时编辑 app/config/database.php 的 redis 部分

'redis' => array(
    'cluster' => false,
    'default' => array(
        'host'     => '127.0.0.1',
        'port'     => 6379,
        'database' => 0,
    ),

要使用 redis 缓存驱动,请确保先安装 Redis。

【讨论】:

  • 对于异常高的“Booting (1.38s)”值不会有太大影响。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多