High Performance Django: From Runserver to Reddit Hugs
summary
Live demo uses EC2 instances, Docker/fig containers, RDS Postgres, memcached and JMeter to blast a fake Django app; the baseline 28 req/s with runserver climbs to 72 req/s with uWSGI, roughly doubles with nginx load balancing (~137 req/s) and then jumps to 456 req/s with Varnish while median hot-page latency falls to single-digit milliseconds. Varnish VCL uses TTL plus a grace window to serve stale pages while background refreshes prevent stampedes. Results emphasize deployment architecture and HTTP caching over application-level micro‑optimizations.
AI-written summary · about
chapters (9)
- 0:00Start
- 2:00Django Does Not Scale
- 5:26Manage Docker Containers
- 6:55Jmeter
- 7:32Hot Profile Page
- 16:39Nginx as a Load Balancer
- 17:58Nginx Configuration
- 27:39Vcl Hit Method
- 33:40Varnish
related talks
31mHigh Performance Django
21mHigh-Availability Django
28mThe life of a web request - techniques for measuring and improving Django application performance
47mHigh Performance Django at Ten: Old Tricks & New Picks
47mBuilding Scalable Web Apps
45mCaching: A trip down the rabbit hole
46mSelf hosting your side projects with Django and duct tape
35mCaching everywhere
