59
74

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Laravel で 最適化 高速化 手法一覧

Last updated at Posted at 2020-03-23

色々あったので備忘録的にまとめ
順不同です。
全てやれというわけではなく、現行の速度を見てできそうなことやる感じ。

他にありましたら教えて頂きたいです

#0.PHPのバージョン
7↑使う

#1.BladeのMinify
BladeがコンパイルされHTML(手続き型のPHPだけど)になったものを圧縮する
自作のディレクティブがあるとうまく動かなかった

#2.Laravel MixでCSS JSの圧縮

Laravel Mix使ってるなら行う

npm run prod

#3.OPCache有効か

OPcache はコンパイル済みのバイトコードを共有メモリに保存し、PHP がリクエストのたびにスクリプトを読み込み、パースする手間を省くことでパフォーマンスを向上させます。

php -v
or
phpinfo()でページで確認

無効だったら有効化させる

#4.View Cache

bladeから普通のphpにコンパイルされるがそれが初回アクセス時なので、先にやっておく

php artisan view:cache

#5.Configキャッシュ

設定値等々を事前にキャッシュしておく

php artisan config:cache

#6.オートローダー最適化

プロダクションへデプロイする場合、Composerのクラスオートローダマップを最適し、Composerが素早く指定されたクラスのファイルを確実に見つけ、ロードできるようにします。

composer install --optimize-autoloader --no-dev

#7.ルートキャッシュ

リクエスト毎にルーティング確認しに行き、Controllerを精査するのでキャッシュしておく
Controllerを使わず、クロージャなどで処理してると使えないのでinvokeのコントローラーでも作って処理させる
view返すだけならRoute::viewを使用する

php artisan route:cache

#8.SetCacheHeadersミドルウェアの使用

あんまり情報がないミドルウェア
レスポンスをキャッシュできる
ApacheとかいじらなくていいのでGetメソッドでキャッシュして問題ないものにつけておくとよい

100秒キャッシュ

web.php
Route::get('example', 'ExampleController@index')->middleware('cache.headers:public;max_age=100');

このようなパッケージもあるみたい

#9.未使用middlewareの削除

app/Http/Kernel.phpの中から不要なのを消す

参考→https://qiita.com/kurikazu/items/0c57f050f5dfef02b23e

#10.未使用Facadeの削除

config/app.phpaliases 配列から消していく

#11.クエリの結果キャッシュできないか

クエリの結果キャッシュできないか
cacheドライバーはfile以外apcu、redis、memcached
fileでも使わないよりは良い

HogeController
$minutes = 1;//1分
return Cache::remember('key', $minutes, function(){
    return User::all();
});

#12.未使用CSS削除

MixならPurgeCSSで使っていないCSS削除する

#13.Eloquentを使わない

DBファサードでやっていく

#ex.

EagerLoadingしていないか


ブログ始めました

59
74
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
59
74

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?