Symfony

パフォーマンスと最適化

Profiler、Blackfire、クエリ最適化、lazy loading、eager loading、キャッシュ戦略

22 面接問題·
Senior
1

開発サイクルにおける Symfony Profiler の主な目的は何ですか?

回答

Symfony Profiler は、各 HTTP リクエストに関する詳細情報(実行時間、SQL クエリ、メモリ使用量、cache、events など)を収集するデバッグツールです。コードを変更せずにボトルネックを特定し、アプリケーションの動作を分析できます。従来のログとは異なり、Web Debug Toolbar からアクセスできるインタラクティブなグラフィカルインターフェースを提供します。

2

パフォーマンス分析において Blackfire は Symfony Profiler とどのように異なりますか?

回答

Blackfire は、関数単位でコードを詳細に分析する PHP アプリケーションプロファイラで、call graphs、プロファイル比較、リグレッション検出を備えています。リクエスト単位の概要を示す Symfony Profiler とは異なり、Blackfire は各関数呼び出しごとに CPU、メモリ、I/O のメトリクスを取得しながらコードの完全な実行をトレースします。また、異なるバージョンのコード間でパフォーマンスを比較することもできます。

3

Doctrine ORM における lazy loading と eager loading の違いは何ですか?

回答

lazy loading は、コード内で実際にアクセスされたときにのみリレーションを読み込むため、初期負荷を抑えられますが、複数の追加クエリによる N+1 問題を引き起こす可能性があります。eager loading は、JOIN を使ってメインクエリと同時にリレーションを即座に読み込むため、追加クエリを避けられますが、転送されるデータ量が増える可能性があります。どちらを選ぶかはデータの使われ方によって決まります。

4

Doctrine で N+1 クエリ問題をどのように特定し解決しますか?

5

めったに変更されないが頻繁に読み込まれるデータには、どのキャッシュ戦略を使用すべきですか?

+19 面接問題

次の面接に向けてSymfonyをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める