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 · WWC 2024

1:33 min

Practical use cases covering networking and performance profiling

Mohammed Aboullaite Mohammed Aboullaite · WWC 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 · WWC 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 · WWC 2025

Upcoming sessions on this topic

Open session

World Congress 2026 North America

How to generate business value through performance optimizations

Nikolai Sidiropulo

Software Engineer at Meta

Nikolai Sidiropulo
Open session

World Congress 2026 North America

Fast by Design: A Masterclass in High-Performance Web Engineering

Aaron Grogg

Senior web developer, committed to improving the user experience by improving web performance

Aaron Grogg
Open session

World Congress 2026 North America

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

GitHub’s Team X-Ray: Your Repository Knows More About Your Team Than Your Team Does

Andrea Griffiths

Senior Developer Advocate

Andrea Griffiths
Open session

World Congress 2026 North America

It’s Alive! Taming the MLOps Franken-Stack: Write, Run, and Serve with Michelangelo

Paul Zimmerman, Eric Wang

Paul Zimmerman
Eric Wang
Open session

World Congress 2026 North America

The Autonomous Performance Agent: A Netflix Production Story

Rajat Shah

Staff Software Engineer, AI Platform, Netflix

Rajat Shah