laravel 5.1 的程序性能優化(配置文件)

命令優化

本文的目的是來弄清楚一些優化命令在 Laravel 5.1 和之前版本之間的差別. 在 15年6月發布的 Laravel 5.1版本中, 命令和他們的邏輯方法被清理掉, 本文章就是描述這些不同.

Laravel 5 在優化框架性能的時候提供了一系列的命令, 這篇文章接卸這些命令做什么并且把緩存文件放到了什么位置.

php artisan optimize
php artisan config:cache
php artisan route:cache

優化文件的存儲路徑

優化命令生成的文件放置在 bootstrap/cache/目錄下

artisan optimize

php artisan optimize 創建了一個調用文件來為了避免每次請求的時候把一系列的文件都加載進來. 這個文件存儲在bootstrap/cache/compiled.php.

你可以在 config/compile.php 文件中指定需要額外加載的類.

這個編譯文件僅僅在 環境是 production (開發環境) 的時候才生成, 除非使用 --force 參數

artisan optimize 同時也創建了bootstrap/cache/services.json , 用來優化服務加載器的性能. 這個命令不再編譯視圖文件.
(The command does no longer compile views.)

php artisan clear-compiled 刪除bootstrap/cache/compiled.phpbootstrap/cache/services.json.

artisan optimize 的輸出基于你的配置文件, 例如 config/app.phpproviders數組, 在部署模式下, 這個命令需要在php artisan config:cache 之后執行

artisan config:cache

php artisan config:cache 這個把所有的配置文件打包到一個文件 bootstrap/cache/config.php 中, 這樣避免了配置文件加載多次. 這個命令在生成新的配置文件前會清理掉舊的配置文件.

php artisan config:clear 用來逆向這個過程, 來刪除bootstrap/cache/config.php這個文件.

artisan route:cache

php artisan route:cache 建立一個路由緩存文件來加速路由解析. 這個命令會首先清理舊的緩存文件.

php artisan route:clear 刪除路由緩存

artisan view:clear

Laravel 會在第一次運行框架的時候編譯所有的視圖文件. 編譯的文件根據路徑的 md5 來計算新文件的路徑 MD5 sum of its path (不是內容, 是路徑).

artisan view:clear 清理 所有在 storage/framework/views/ 下的文件.

Laravel 5.0

在 5.1 之前, 優化文件默認生成在 vendor/ 目錄下. 如果vendor 目錄不可寫, 文件會被寫入到 storage/framework/目錄下, 在 v5.0.20 你可以設置 storage/framework/作為默認的優化文件的存儲路徑. 方法是 在 bootstrap/app.php 文件中加入下邊這一行:

$app->useStoragePathForOptimizations(true);

Laravel 5.1 會用一個指定的目錄bootstrap/cache來保存 生成的編譯文件. 這包括 , bootstrap/cache, compiled.php, routes.php, config.php, 和services.json.

1. 取消 Inspiring 加載

來這里看看 Inspiring 能做什么
Inspiring 是 l5 默認帶的一個獲取心靈雞湯顯示的一個示例. 不需要雞湯則優化掉

'aliases'         => [
    ...
    'Inspiring'     => 'Illuminate\Foundation\Inspiring',
    ...
]

... 持續更新

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容