The life of a web request - techniques for measuring and improving Django application performance
summary
Shows concrete metrics and fixes: front end consumes 80–90% front-end time, an example page hits 177 requests and 2.6 MB and takes ~8.6s fully loaded while the primary HTML is 202ms. Recommends measuring with Google Analytics, New Relic, Chrome devtools, WebPageTest and Django Debug Toolbar; profile with django-extensions and graphite; fix with caching, compression, Django Pipeline, select_related/prefetch_related and async tasks (Celery). Demonstrates a streaming template and eager streaming proof‑of‑concept that surfaces a top banner in ~0.5s but warns about middleware and error‑handling caveats.
AI-written summary · about
chapters (15)
- 0:00Introduction
- 6:33Measuring
- 9:15Static resources
- 10:42Varnish
- 12:13Debugging
- 13:33Django
- 15:42Compression
- 16:03Query performance
- 16:45Defer workloads
- 17:16Django performance
- 18:03Streaming responses
- 19:23Eager streaming
- 20:57Future context
- 22:00Summary
- 22:19Questions
related talks
37mPerformant Django
31mHigh Performance Django
42mA Nice Problem to Have: Django Under Heavy Load
39mHigh Performance Django: From Runserver to Reddit Hugs
45mCutting latency in half: What actually worked—and what didn’t
28mPython: Ludicrous mode (with Django)
32mGreen Coding with Django
01h 06mEffective Django
