Profiling PHP Applications
summary
ResearchGate measures both backend and perceived frontend speed with the navigation timing API and ships those timestamps back as zero‑byte image or XHR hits, aggregates them through Logstash into Graphite and watches gaps (backend 123 ms vs complete 890 ms). Profiling uses Xdebug locally and XHProf (activate 0.5–1% of production requests, view in xhGUI) to find slow SQL, cache misses and hot functions; the Symfony Debug Toolbar (or borrowed equivalents) surfaces queries, cache hits and timelines so fixes target the actual slow call not the vague topic.
AI-written summary · about
chapters (37)
- 0:00Intro
- 0:51ResearchGate SCIENTIFIC NETWORK
- 6:53Step 1
- 16:09Graphing it
- 18:12Can we measure more?
- 18:26Load balancer
- 20:39More fine grained metrics
- 22:17Define goals
- 22:43Step 2
- 23:53Webgrind
- 24:09DEMO
- 26:13Use it locally on your dev machine
- 26:44XHProf
- 30:22php-meminfo
- 32:06Symfony Debug Toolbar
- 34:16Extend it
- 40:41Step 3
- 40:53That's something you have to do
- 41:04Keep up to date
- 44:24Speed matters
- 49:04Some hints on better performance
- 49:17The obvious
- 49:31Minify JS
- 49:42Correct caching headers
- 49:55Opcache
- 50:11APCU
- 51:20Minimize redirects
- 51:43Check image compression
- 52:31Check YSlow, Pagespeed
- 53:14Move logic to async workers
- 53:35The "crazy" stuff
- 55:48Load content asynchronously
- 56:36Flush content early
- 57:18Move logic to shutdown handlers
- 57:28function.php
- 57:41Promises / Futures
- 58:31pushState
related talks
21mAPMs, Profilers Static Analyzers Who’s who
20mProfiling React Web Apps in Production
44mMonitor Your PHP Applications with Logs, Metrics, Pings, and Traces
21mBlackfire Under the Hood
23mThe Power of Distributed Profiling
50mMy Debugging And Performance Toolbox
51mProduction Profiling: What, Why and How
29mProfiling Node Applications
