Laravel フレームワークのパフォーマンスは決して良好ではありません。したがって、PHP laravel フレームワークを学習するときは、Laravel プログラムの最適化をマスターする必要があります。次に、最良の開発ソリューションと最適化テクニックのいくつかを共有します。
これは簡単なリストです:
構成情報キャッシュ アルティザン config:cache
ルート キャッシュ アルティザン ルート:キャッシュ
クラス マップ読み込み最適化アルティザン optimize
オートロード最適化コンポーザー dumpautoload
Memcached を使用してセッション config/session.php
プロフェッショナル キャッシュ ドライバーを使用する config/cache.php
データベース リクエストの最適化
データ セットのキャッシュ ロジックを作成します。
HHVM、OpCache などのジャストインタイム コンパイラ (JIT) を使用します。
Elixir とマージするフロントエンド リソース
1. 構成情報キャッシュ
次の Artisan 組み込みコマンドを使用して、config フォルダー内のすべての構成情報を 1 つのファイルにマージし、ロードされるファイルの数を減らします。実行時:
php 職人 config:cache
上記のコマンドは、ファイル bootstrap/cache/config.php を生成します。次のコマンドを使用して、構成情報のキャッシュをキャンセルできます:
php professional config:clear
このコマンドは、bootstrap/cache/config.php ファイルを削除します。
注: 構成情報キャッシュは更新によって自動的に再ロードされません。そのため、開発中は構成情報キャッシュをオフにすることをお勧めします。通常、実稼働環境で使用され、Envoy タスクで使用できます。ランナー。
2. ルート キャッシュ
ルート キャッシュは、ルーターの登録効率を効果的に向上させることができます。その効果は、大規模なアプリケーションでより顕著になります。次のコマンドを使用できます。
php 職人ルート:キャッシュ
上記のコマンドは、bootstrap/cache/routes.php ファイルを生成しますが、ルート キャッシュはルーティングの匿名関数書き込みロジックをサポートしていないことに注意してください。
次のコマンドを使用して、ルート キャッシュをクリアできます:
php Artisan Route:clear
このコマンドは、bootstrap/cache/routes.php ファイルを削除します。 。
注: ルート キャッシュは更新によって自動的に再ロードされません。そのため、開発中はルート キャッシュをオフにすることをお勧めします。これは通常、運用環境で使用され、Envoy タスク ランナーで使用できます。
3. クラス マップの読み込みの最適化
#optimize コマンドは、一般的に読み込まれるクラスを 1 つのファイルにマージし、ファイルの読み込みを削減することで操作効率を向上させます:
php Artisan optimize --force
は、bootstrap/cache/compiled.php と bootstrap/cache/services.json の 2 つのファイルを生成します。
config/compile.php ファイルを変更することで、マージするクラスを追加できます。
本番環境では、パラメータ --force を指定する必要はなく、ファイルは自動的に生成されます。
クラス マップの読み込みの最適化をクリアするには、次のコマンドを実行します。
php Artisan Clear-compiled
このコマンドは、上記の最適化によって生成された 2 つのファイルを削除します。
注: optimize コマンドは構成情報 (config/app.php ファイルのプロバイダー配列など) に基づいてファイルを生成するため、このコマンドは phpArtisan config:cache の後に実行する必要があります。
4. 自動読み込みの最適化
このコマンドは、Laravel プログラムだけでなく、composer を使用して構築されたすべてのプログラムにも適用されます。このコマンドは、PSR-0 と PSR-4 をクラス マッピング テーブルに変換して、クラスの読み込み速度を向上させます。
composer dumpautoload -o
注: この操作は、php Artisan optimize --force コマンドですでに実行されています。
5. Memcached を使用してセッションを保存する
すべての Laravel リクエストはセッションを生成します。セッション保存方法を変更すると、プログラムの効率とセッション構成情報を効果的に向上させることができます。 config/session.php。Memcached や Redis などの専門的なキャッシュ ソフトウェアに変更することをお勧めします:
'driver' => 'memcached',
6. 専門的なキャッシュ ドライバーを使用します
"Cache " はアプリケーションを改善する最良の方法です。プログラムの実行効率を向上させる魔法の武器の 1 つであるデフォルトのキャッシュ ドライバーはファイル キャッシュです。Redis や Memcached などの専門的なキャッシュ システムに切り替えることをお勧めします。使用することはお勧めしません。データベースキャッシュ。
'default' => 'redis',
7. データベース リクエストの最適化
遅延プリロードとプリロードを使用する;
Laravel Debugbar または Clockwork を使用して、各ページのデータベース リクエストの総数に注意してください;
ここには Laravel 関連の内容についてのみ書かれています。データの最適化に関するその他の内容については、ご自身で参照してください。他の情報を出します。
8. データセットのキャッシュロジックを記述する
Laravel が提供するキャッシュレイヤーオペレーションを合理的に使用して、データベースから取り出したデータセットをキャッシュし、データベースの容量を削減します。メモリ上で実行される専門的なキャッシュ ソフトウェアも、データベースよりもはるかに高速にデータを読み取ることができます。
$posts = Cache::remember('index.posts', $minutes = 30, function() { return Post::with('comments', 'tags', 'author', 'seo')->whereHidden(0)->get(); });
remember データ関連付けモデルさえもキャッシュされるのは、なんと便利なことでしょう。
9. ジャストインタイム コンパイラーを使用します
HHVM と OpCache を使用すると、変更を加えることなくアプリケーションを簡単に 50% 高速化できます。% 以上のパフォーマンス、PHPhub詳細については、「OpCache を使用して PHP 5.5 プログラムのパフォーマンスを向上させる」を参照してください。
10. フロントエンドリソースのマージ
最適化の標準として、ページは 1 つの CSS ファイルと 1 つの JS ファイルのみをロードする必要があり、ファイルは CDN に簡単に移動できる必要があり、ファイル名は変更に応じて変更する必要があります。
関連する推奨事項:
Laravel 5 のパフォーマンスを向上させるための実践的なヒント
Laravel フレームワークのルーティング構成の概要と設定ヒント、laravel フレームワーク
以上がPHP laravel5 フレームワークのプログラムの最適化テクニック (推奨)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。