Description
In this course, you will learn:
- Blackfire setup, what it all means & profiling
- Understanding the call graph: wall time vs IO time vs CPU time
- Callers vs callees & optimizing calls
- Deep profiled details: OPcache memory, RealPath cache, etc
- Exclusive versus Inclusive call time
- Profiling AJAX requests... and "all requests"
- Profiling a command-line script
- Investigating SQL query problems & network calls
- Blackfire Environments & automated builds
- Custom performance scenarios
- Writing performance assertions
- Automated performance checks
- The Blackfire Player
- The Blackfire SDK: generate custom profiles from your code
- Using Blackfire in PHPUnit for performance assertions
Syllabus:
- Performance, Profilers and APMs
- Blackfire Install: Agent, Probe, Chrome Extension
- Installing the Agent, Probe & Chrome Extension
- Wall Time, Exclusive Time & Other Wonders
- Finding Issues via the Call Graph
- Comparisons: Validate Performance Changes, Find Side Effects
- Recommendations
- Property Caching
- Using a Caching Layer & Proving its Worth
- The N+1 Problem & EXTRA_LAZY
- Fixing N+1 With a Join?
- Profile All Requests (Including Ajax)
- The Blackfire CLI Tool for AJAX Requests
- Profiling Command Line scripts
- Timeline: Go Behind-the-Scenes with your Code
- Timeline: Finding a Hidden Surprise
- Spotting Heavy Object Instantiation
- Service Subscribers
- Manually Profile (Instrument) Part of your Code
- SDK: Automatically Create a Profile
- Creating an Automatic Probe Early in your Code
- Performance Tests
- All about Metrics
- Assertions / Profile "Tests"
- Blackfire Player
- Expectations/Tests with Blackfire Player
- Deploying to SymfonyCloud
- Database Tricks on SymfonyCloud
- Blackfire Environments
- Production Profile: Cache Stats & More Recommendations
- Automatic Performance Checks: Builds
- Builds with Custom Scenarios
- Per-Page Time Metrics & Custom Metrics
- Testing a Build Compared to the Last Build
- Staging Servers on SymfonyCloud
- Staging Environment Builds
- Blackfire Environment Variables