Optimize Performance with Continuous Production Profiling
summary
Shows that continuous production profiling with sampling and flame graphs finds real CPU sinks in live services. Uses gProfiler on Python Flask/SQLAlchemy workloads, adds caching to a query (python cache decorator) and drops container CPU from ~55% to ~50% — a >10% improvement measured under load. Also finds a logging remove-handle_ref hotspot (~3% per call) whose fix (avoid double list scan, use remove-with-except) goes upstream to Python 3.10.
AI-written summary · about
chapters (10)
- 0:00Introduction to performance optimization
- 1:03Why optimize performance matters
- 3:13Why profiling is essential
- 5:46Continuous production profiling
- 9:16Flame graphs explained
- 12:16Live demo setup
- 14:08Identifying bottlenecks with flame graphs
- 18:55Measuring performance improvement
- 22:33Real-world optimization example
- 25:03Summary and takeaways
related talks
25mFrom Continuous Profiling to Continuous Optimization
33mInto the flamegraph: From the primitives through advanced concepts
51mProduction Profiling: What, Why and How
56mContinuous Profiling the missing piece in your observability puzzle
06mOptimizing Performance - Continuous Production Profiling
56mPython Profiling State of the World
24mCommunity Driven Breakout Session: Continuous Profiling
41mGain a deeper understanding of your incidents: continuous profiling
