Symfony

Prestaties & optimalisatie

Profiler, Blackfire, query-optimalisatie, lazy loading, eager loading, cachingstrategieën

22 gespreksvragen·
Senior
1

Wat is het belangrijkste doel van de Symfony Profiler in de ontwikkelingscyclus?

Antwoord

De Symfony Profiler is een debugtool die gedetailleerde informatie verzamelt over elke HTTP-request: uitvoeringstijd, SQL-queries, geheugengebruik, cache, events en meer. Het helpt knelpunten te identificeren en het gedrag van de applicatie te analyseren zonder de code te wijzigen. In tegenstelling tot traditionele logs biedt het een interactieve grafische interface die toegankelijk is via de Web Debug Toolbar.

2

Hoe verschilt Blackfire van de Symfony Profiler voor prestatieanalyse?

Antwoord

Blackfire is een PHP-applicatieprofiler die diepgaande code-analyse uitvoert op functie-voor-functieniveau, met call graphs, profielvergelijkingen en regressiedetectie. In tegenstelling tot de Symfony Profiler, die een overzicht per request geeft, traceert Blackfire de volledige code-uitvoering met CPU-, geheugen- en I/O-metingen bij elke functieaanroep. Het maakt het ook mogelijk om prestaties tussen verschillende codeversies te vergelijken.

3

Wat is het verschil tussen lazy loading en eager loading in Doctrine ORM?

Antwoord

Lazy loading laadt relaties pas wanneer ze daadwerkelijk in de code worden benaderd, wat de initiële belasting verlaagt maar het N+1-probleem kan veroorzaken met meerdere extra queries. Eager loading laadt relaties direct samen met de hoofdquery via JOIN, waardoor extra queries worden vermeden maar de hoeveelheid overgedragen data mogelijk toeneemt. De keuze hangt af van hoe de data wordt gebruikt.

4

Hoe identificeer en los je het N+1-queriesprobleem op met Doctrine?

5

Welke cachingstrategie moet je gebruiken voor gegevens die zelden veranderen maar vaak worden gelezen?

+19 gespreksvragen

Beheers Symfony voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis