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')));
}