このガイドでは、簡単な最適化から詳細なチューニングまで、高パフォーマンスの Laravel アプリケーションの構築に役立つさまざまなパフォーマンス最適化のヒントをリストします。
Enlightn には、このガイドの作成に協力してくれた多くの学生がいます。 Laravel の自動化パフォーマンスやセキュリティ ツールをお探しの場合は、この Web サイトにアクセスしてください。
route:cache を使用して、必要なすべてのルーティング情報をキャッシュし、ルート処理をスキップできます。
php artisan route:cache
と
config# をスキップします。 ## ファイルの解析。
展開スクリプトで、Composer を使用して拡張パッケージをインストールする場合は、必ず
-no-dev オプションを使用してください: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">composer install --prefer-dist --no-dev -o</pre><div class="contentsignin">ログイン後にコピー</div></div>
さらに、次のことを確認してください。実稼働環境では、前述のように、
オプションを使用します。これにより、Composer は「クラスマップ」を生成してオートローダーを最適化できるようになります。 アプリケーションが実行時にクラスを生成しない場合は、さらに最適化するために、
オプションの代わりに --classmap-authoritative
オプションを使用することを選択できます。 Autoloader の Composer ドキュメントを必ず確認してください最適化戦略
.
一般に、このようなタスクの一般的な例には、CSV ファイルの解析と保存、サードパーティ API との対話、ユーザーへの通知の送信、長くて時間のかかるデータベース クエリ、検索インデックスの更新などが含まれます。
圧縮ヘッダーは、アプリケーションのパフォーマンスに大きな影響を与える可能性があります。 CSS、JS、XML、JSON などのテキスト形式ファイルの圧縮または CDN を Web サーバーで有効にしてください。
画像形式にはすでに圧縮アルゴリズムが実装されており、ほとんどの場合、画像形式ファイルは圧縮されており、画像はテキスト形式ファイルではありません (XML ドキュメントである SVG 形式を除く)。したがって、画像形式は圧縮する必要がありません。
Web サーバーまたは CDN に gzip または brotli (古いブラウザは brotli をサポートしていない可能性があります) をセットアップして、パフォーマンスを大幅に向上させることができます。
通常、圧縮するとファイル サイズを約 80% 削減できます。
キャッシュにより、特に画像などの静的リソースの場合、アプリケーションのパフォーマンスが向上します。 、CSS および JS ファイル。該当する場合は、Web サーバーまたは CDN レベルでキャッシュ制御ヘッダーを有効にすることをお勧めします。これらのコントロールヘッダーを Web サーバーではなく Larvel アプリケーションに設定したい場合は、Larvel の キャッシュ コントロール ミドルウェアを使用できます。
Cache ヘッダー フィールドは、Web サイトに複数回アクセスしたときにブラウザが静的リソースを繰り返し要求しないようにします。これにより、次回以降の Web サイトの読み込みが速くなり、ユーザー エクスペリエンスが向上します。
Laravel Mix は、すぐに使用できる キャッシュ クリーニング 機能を提供するため、CSS または JS コードが変更されたときに、ブラウザーが古いキャッシュされたコンテンツを使用し続けることがなくなります。
コンテンツ配信ネットワーク (CDN) は、より近いサーバーを使用する地理的に分散されたサーバー グループです。ウェブサイト訪問者に提供されます。これにより、ユーザーは読み込み時間が短縮されます。
CDN には、読み込み速度の高速化と読み込み時間の短縮に加えて、Web サーバーの負荷の軽減、DDOS 保護、静的リソース サービスの分析など、他の利点もあります。
人気のある CDN には、CloudFlare、AWS CloudFront、Azure CDN などがあります。ほとんどの CDN には、一定の無料試用制限があります。静的リソースの読み込みパフォーマンスを向上させるために、CDN の使用を検討してください。
Laravel は、すぐに使える CDN サポートコンポーネント Mix とヘルパー関数 asset をフレームワークに提供します。
スクリプトを最小限に抑えると、アプリケーション コード (コード コメント、空白、短縮コードなど) から不要なオーバーヘッドが削除されます。変数名、その他の最適化)。これは、運用環境で JS および CSS ファイルのサイズを削減するための一般的で効果的な方法です。
Laravel Mix は、すぐに使用できる 出力最小化機能を本番スクリプトに提供します
キャッシュ サポートが組み込まれています。キャッシュは、読み取り負荷の高いワークロードに最適です。これらのワークロードには、多くの場合、時間のかかるデータ取得タスクやデータ処理タスクが含まれます。
キャッシュの一般的なシナリオには次のようなものがあります:ロングテール (めったに要求されない項目) には役に立たないことに注意してください。逆に、(データ更新と比較して) 頻繁なデータ取得の場合は注意して使用する必要があります。
キャッシュされたコンテンツが変更されるたびに、キャッシュが無効化またはフラッシュされることも確認する必要があります。たとえば、プロファイル ヘッダーをキャッシュしている場合は、ユーザーがプロファイル写真を更新した後にキャッシュを更新します。
一部のページの読み込みに時間がかかったり、メモリ使用量が多くなったりする場合は、次のことが必要になる場合があります。パフォーマンスのボトルネックを特定します。 Laravel エコシステムには、Laravel Telescope、Laravel Debugbar、Clockwork など、これを行うのに役立つツールが多数あります。
一般的なパフォーマンスのボトルネックには、次のものがあります。
上記のデバッグ ツールを使用してアプリケーションのパフォーマンスのボトルネックを特定できない場合は、XDebug や Blackfire などの分析ツールの使用を検討してください。
さらに、参照用の完全なオンライン チェックリストをここに示します41. コースの概要|《LX3 Laravel パフォーマンスの取得》最適化から始めました》。
パフォーマンスの最適化は永遠のテーマですが、Laravel にはミックス、キュー、キャッシュなどの組み込みコンポーネントがいくつかあります。パフォーマンスの最適化が簡単に見えます!アプリケーションのパフォーマンスの向上について新しいことを学んでいただければ幸いです。
元のアドレス: https://laravel-news.com/performance-checklist
翻訳アドレス: https://learnku.com/laravel/t/55702
[関連する推奨事項: laravel ビデオチュートリアル ]
以上がLaravel8でパフォーマンスを最適化するにはどうすればよいですか?最適化のヒントの共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。