laravel性能优化

作者: 沐青之枫 | 来源:发表于2017-10-30 20:51 被阅读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')));
    }
    

    相关文章

      网友评论

        本文标题:laravel性能优化

        本文链接:https://www.haomeiwen.com/subject/kddmpxtx.html