H片日记金鹏堡

laravel性能优化

2017-10-30  本文已影响75人  沐青之枫

laravel性能优化的方法,分为四个点:

1.自带命令
2.debugbar
3.预加载
4.慢sql查询

自带命令

路由缓存优化

注:路由文件里不要写路由函数

php artisan route:cache //生产路由缓存文件
php artisan route:clear   //移除
配置缓存优化
php artisan config:cache   //生产配置缓存文件
php artisan config:clear   //移除
优化类加载
php artisan optimize       //生产优化类文件
php artisan clear-compiled  //清空优化类

debugbar调试工具

git地址:debugbar

composer安装
composer require barryvdh/laravel-debugbar --dev
注册到config/app.php的ServiceProvider 数组里
Barryvdh\Debugbar\ServiceProvider::class
提取配置文件到config文件夹目录下
php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"

注意
1.config/app.php内的'enabled'=>env('DEBUGBAR_ENVBLED',null);
2.没有配置缓存文件

预加载

在使用关联查询时,控制器里的sql查询需要使用with或load关联查询

栗子:
Post(model):

puliic function user()
{  
   return $this->belongsTo('App\User');
}

PostController

$post = Post::orderBy('id','desc')->with('user')->get();

或是

$post = Post::orderBy('id','desc')->get();
$post->load('user');
4.慢sql查询

一般可以将下面的方法放入app\Providers\AppServiceProvider的boot里

//打印慢于10ms的sql查询
DB::listen(function($query){
      $sql = $sql->sql;
      $time = $sql->time;
})
if($time>10){
    Log::debug(var_export(compact('sql')));
}
上一篇下一篇

猜你喜欢

热点阅读