WeAreDevelopers LIVE Oct 19, 2021

Profiling Symfony & PHP apps with Blackfire

Jérôme Vieilledent

Stop guessing why your Symfony app is slow. Blackfire safely profiles production bottlenecks, helping you mathematically prove efficiency and block slow code within your CI/CD pipeline.

Pause
Mute Enter Fullscreen
#1 about 2 min

Application performance and its direct business impact

Documented research reveals that poor load times directly reduce company revenue and drive users to abandon applications.

#2 about 3 min

Comparing code profiling with surface level monitoring

While static blueprints differ from the running black box of an application, profilers serve as bionic glasses that expose internal component interactions.

#3 about 6 min

Using profiling safely across production stages

Unlike traditional debuggers that invoke constant overhead, a production-ready extension only measures metrics on demand to eliminate side effects for regular users.

#4 about 6 min

Defining trace complexity and collection levels

While monitoring captures the timing of basic errors, extended traces provide root cause maps by measuring deterministic function footprints.

#5 about 4 min

Setting up the sample application probe and agent

The data measurement architecture requires a language tracking extension paired with a daemon agent that dispatches offline aggregates to avoid blocking threads.

#6 about 12 min

Triggering a profile to analyze timeline wall time

A browser client initiates a batch of sampling tests to filter anomaly noise and highlight input/output stalls against processing ticks.

#7 about 7 min

Exploring the call graph to isolate computational burdens

Visualizing execution graphs reveals inclusive routing bottlenecks and points directly to single tasks draining resources through heavy exclusive times.

#8 about 4 min

Isolating database instantiation flaws in vendor extensions

Tracing object creation backward in the execution tree demonstrates how a user template loop triggers thousands of unnecessary doctrine object instantiations.

#9 about 6 min

Refactoring template loops to execute single queries

Replacing raw entity-by-entity history parsing with a dedicated repository count limits backend processing requests efficiently.

#10 about 4 min

Comparing profile results to validate architectural changes

Reviewing performance profiles against historical metrics visualizes objective network gains and quantifies precise reductions in database requests.

#11 about 5 min

Locating exact database queries and opcache metadata

A built-in execution search pinpoints exact database bindings while cache metadata uncovers depleted string buffers draining processing time.

#12 about 8 min

Applying automated analyzer recommendations and application preloading

Built-in security audits flag outdated environmental rules while container precompilation forces applications directly into memory bypassing runtime translation.

#13 about 6 min

Optimizing the autoloader via shared memory allocation

Dumping the library class roadmap directly into an accelerated caching tier avoids endless disk lookups during file execution stages.

#14 about 11 min

Caching query outputs within service interfaces

Injecting memory pools buffers external system checks, retaining persistent keys alongside worker environments rather than executing continuous lookups.

#15 about 6 min

Automating continuous profiling with synthetically scripted scenarios

Declarative script pipelines enforce baseline delivery logic and measure performance parameters repeatedly as protective checks throughout continuous deployment.

#16 about 11 min

Defining custom metrics and functional domain assertions

Extending logic verification requires tailored parameter selectors tracking precise API invocations or exposing ghost connections missing functional calls.

#17 about 7 min

Observing live traffic graphs and automated deep traces

Identifying high-priority service spikes inside global endpoint graphs automatically activates detailed tracing engines without impacting general user sessions.

#18 about 15 min

Solving network boundaries and legacy language constraints

Bypassing edge nodes requires explicitly tuned access headers alongside integrations built into external pipelines executing older technology bases.

Matching moments

1:31 min

Profiling computing workloads across environments using Performance Studio

Andrew Wafaa Andrew Wafaa · World Congress 2024

1:33 min

Practical use cases covering networking and performance profiling

Mohammed Aboullaite Mohammed Aboullaite · World Congress 2024

2:10 min

Analyzing logic and performance metrics via developer profiling tools

Paul Graham Paul Graham · LIVE

3:10 min

Debugging performance bottlenecks with developer tools

Cathrin Möller · World Congress 2023

4:47 min

Final performance results and key architectural takeaways

Yedidya Schwartz · LIVE

1:00 min

Isolating performance bottlenecks with profiling and micro benchmarks

Dennis Doomen Dennis Doomen · World Congress 2025

Upcoming sessions on this topic

Open session

World Congress 2026 North America

September 25, 2026 · 11:00–11:30

Stage 3

Performance Engineering in the Age of AI

Frederic Branczyk

VP of Data Platforms at Dash0

Frederic Branczyk
Open session

World Congress 2026 North America

September 24, 2026 · 14:50–15:20

Stage 9

How to generate business value through performance optimizations

Nikolai Sidiropulo

Software Engineer at Meta

Nikolai Sidiropulo
Open session

World Congress 2026 North America

September 25, 2026 · 14:10–14:40

Stage 7

Why Your iOS App Feels Broken After an Hour: Diagnosing Long-Session Performance on Real Devices

Vasuki Uday Kiran Vudathala

Staff Performance Engineer at ServiceNow

Vasuki Uday Kiran Vudathala
Open session

World Congress 2026 North America

September 24, 2026 · 11:40–12:10

Stage 4

Taming Rogue Agents: Observability-Driven Evaluation for Production Reliability

Anagha Rumade, Anjana Umapathy, Apoorva Jaiswal

Anagha Rumade
Anjana Umapathy
Apoorva Jaiswal
Open session

World Congress 2026 North America

September 24, 2026 · 14:10–14:40

Stage 2

Know Your Enemies: Live Exploit of a PHP Engine Security Breach

Alexandre Daubois

CTO of Les-Tilleuls.coop / Symfony Core Team / PHP & FrankenPHP Core Maintainer

Alexandre Daubois
Open session

World Congress 2026 North America

September 24, 2026 · 13:30–15:30

Stage 10

Hands-On CI Optimization Workshop

Abbe Piels

Member of Technical Staff at Blacksmith

Abbe Piels