zoukankan      html  css  js  c++  java
  • Laravel 5 框架性能优化技巧

    性能一直是 Laravel 框架为人诟病的一个点,所以调优 Laravel 程序算是一个必学的技能。

    接下来分享一些开发的最佳实践,还有调优技巧,大家有别的建议也欢迎留言讨论

    1、配置缓存信息

    使用laravel自带的artisan命令,将所有config里面的配置都缓存到一个文件里。

    php artisan config:cache

    所有缓存信息会被 bootstrap/cache/config.php 文件里,也可以用以下命令来删除该缓存信息:

    php artisan config:clear

    当配置信息修改的时候,一般直接执行 php artisan config:cache 即可,因为它会自动先执行 php artisan config:clear ,然后再执行 php artisan config:cache 。

    2、路由信息缓存

    当路由越来越多的时候,特别是在大型项目中,路由缓存的效果很明显。

    php artisan route:cache

    所有路由会被缓存到 bootstrap/cache/routes.php 文件里,如果要使用路由缓存,那么所有的路由就不能使用闭包即匿名函数的形式了。同样可以用

    php artisan route:clear

    清除路由缓存。

    3、类映射加载优化

     optimize 命令把一些常用的类缓存到文件里,通过减少文件的加载,提升性能:

    php artisan optimize --force

    会生成 bootstrap/cache/packages.php 和 bootstrap/cache/services.php 两个文件。

    在  production 环境中,参数 --force 不需要指定,文件就会自动生成。

    要清除类映射加载优化,请运行以下命令:

    php artisan clear-compiled

    此命令会删除上面 optimize 生成的两个文件。

     注意:此命令要运行在  php artisan config:cache 后,因为  optimize  命令是根据配置信息(如:config/app.php 文件的 providers 数组)来生成文件的。

    4、使用redis/memcached来储存session会话

    每一个laravel请求都会产生session会话信息,默认使用file存储的方式,存在 storage/framework/sessions 文件里,可以再 config/session.php 里修改储存方式。

    'driver' => 'redis',

    5、使用专业的缓存驱动器

    「缓存」是提高应用程序运行效率的法宝之一,默认缓存驱动是 file 文件缓存,建议切换到专业的缓存系统,如 Redis 或者 Memcached,不建议使用数据库缓存。

    可以再配置文件 config/cache.php 里修改:

    'default' => 'reids',

    6、开启opcache

    首先输入命令 php -m 查看有没有开启 OPcache 拓展。

    如果已经开启,那么就可以开始配置php.ini。

    // 开启opcache
    opcache.enable=1
    // 是否开启代码检测,开发环境中应不开启,然后可以写一个artisan命令去运行opcache_reset()方法去重启opcache缓存
    opcache.validate_timestamps=0
    // 如果开启代码检测,每隔多久检测一个代码是否改变
    opcache.revalidate_freq=0
    // 最大加速文件数,linux下可以通过find . -type f -print | grep php | wc -l命令查看项目有的文件数,该值应该大于项目下的文件数
    opcache.max_accelerated_files=8000
    // opcache预先申请的内存,用来存opcache缓存
    opcache.memory_consumption=192
    // 重启字符串缓冲区
    opcache.interned_strings_buffer=16
    // 这实际上是提供了一个更快的机制,在单个请求结束时调用代码中的解构器,以加快响应和回收php工作,以便更快地为下一个传入请求做好准备。
    opcache.fast_shutdown=1
  • 相关阅读:
    C# 日期帮助类【原创】
    C# 发送邮件
    每日一题力扣453
    每日力扣628
    每日一题力扣41巨坑
    每日一题力扣274
    每日一题力扣442有坑
    每日一题力扣495
    每日一题力扣645
    每日一题力扣697
  • 原文地址:https://www.cnblogs.com/johnson108178/p/7803729.html
Copyright © 2011-2022 走看看