Getting started with Django is easy. There are tutorials and books that literally walk you through the process of getting your first site up and running. Taking that code from your laptop to the real world is like opening pandora’s box.

Should I use Apache, Gunicorn, uWSGI or something else?

Where should I use caching to make things faster?

How do I know if my database has the right indexes or if it needs more resources?

Do I need a NoSQL database like MongoDB?

The site runs great on my laptop. Why is it so slow in production?

How many servers does my site need? How big should they be?

What is the 20% effort that will solve 80% of my performance problems?

If you’ve asked yourself any of these questions, you’re like most Django developers. Heck, we were asking some of the same questions when we started working with Django 7 years ago. Since then we’ve built, deployed, and maintained a lot of Django sites. Everything from realtime applications to large-scale CMSes with tons of traffic. Quite frankly, we made a lot of mistakes, but we learned a lot too.

High Performance Django is the book we wish we had when we got started. It will give you a repeatable blueprint for building and deploying fast, scalable Django sites.