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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM