常用的调优技巧
1,根据需要加载中间件
Laravel 内置了很多的中间件,每一个请求都会加载相关的中间件,在 app/Http/Kernel.php 中注释掉不需要的中间件(如 session 支持)可以极大的提升性能。
2,使用即时编译器(JIT)
如 HHVM 和 OPcache 可以让程序在不用做任何修改的情况下,直接提高最少 50% 的性能。
3,使用 PHP 7.x
与之前的版本相比,PHP 7.x 在性能上有了极大的提升,如果你愿意的话,甚至还可以使用 PHP 8.x 版本。
4,关闭应用debug
打开应用根目录下的 .env 文件,把 debug 设置为 false。
APP_DEBUG=false
5,缓存配置信息
php artisan config:cache
该命令可以把 config 目录下所有配置信息合并到一个 bootstrap/cache/config.php 文件中,减少运行时载入文件的数量。
php artisan config:clear
该命令可以清除配置信息的缓存,也就是删除 bootstrap/cache/config.php 文件
6,缓存路由信息
php artisan router:cache
该命令会生成文件 bootstrap/cache/routes.php。路由缓存可以有效的提高路由器的注册效率,在大型应用程序中效果越加明显。
php artisan route:clear
该命令会清除路由缓存,也就是删除 bootstrap/cache/routes.php 文件。
7,类映射加载优化
php artisan optimize
该命令能把常用的类合并到一个文件中,通过减少文件的加载来提高运行效率。这个命令会生成 bootstrap/cache/compiled.php 和 bootstrap/cache/services.json 两个文件。
通过修改 config/compile.php 文件可以添加要合并的类。
在生产环境下不指定 --force 参数,也可以自动生成文件。
php artisan clear-compiled
该命令会清除类映射加载优化,也就是删除 bootstrap/cache/compiled.php 和 bootstrap/cache/services.json 两个文件。
8,自动加载优化
composer dumpautoload -o
Laravel 应用程序是使用 composer 来构建的。这个命令会把 PSR-0 和 PSR-4 转换为一个类映射表来提高类的加载速度。
其实在 php artisan optimize --force 命令里已经做了这个操作。
使用 Apache ab 命令。ab -t 10 -c 10 {url}。该命令表示对 url 同时发起 10 个请求,并持续 10 秒钟。命令中具体的参数设置需要根据要测试的服务器性能进行选择。