Archives For django

I read an interesting article on about Why Python is perfect for startups. I’ve done the startup thing a couple times now and I’ve spent a lot of time developing with Python. I just wanted to add a little balance to that article and point out a few things to consider before investing in Python as the foundation for your new business.

Yes, I know, I’m about to unleash a holy war. Putting down someone’s favorite language, tool, whatever, is bound to frustrate people. So let me put this argument to rest before we begin. These are my opinions based on my observations. You are 100% free to have different opinions than I have. And, if you can do so politely, you are absolutely welcome to voice your opinions in the comment section below.

With that out of the way, let’s highlight four big concerns: Continue Reading…

How to scale Django: Finding the bottleneck

I’ve published an article for DigitalOcean on scaling Django. This article focuses on isolating performance problems. This is the first of several articles on performance, particularly targeting resource constrained configurations.

Django is an excellent Python based platform for building modern web apps. One of its biggest strengths is that it helps developers work faster.

You’ve built your awesome app and deployed it. Things are great, but now that you’re loading it up with larger amounts of data and you’re starting to have several people use it at the same time, it’s not as fast as you’d like.

It’s a common problem. Fortunately, we have some tools to help alleviate the problems. First, let’s check for a few of the more obvious issues:

Read the article at DigitalOcean: How To Scale Django: Finding the Bottleneck

I help out a popular clothing retailer,, sometimes when they need some after-hours help. Last night at dinner I got an urgent text from the lead developer who is based in Europe saying the website was melting due to being mentioned in a highly popular Reddit post. It seems that one of the Boston bombing suspects was spotted wearing a hoodie from Kuhl.

The first problem was that there weren’t enough database connections available, the second was that, of the M1.extra-large’s 15G of RAM, only 4G was being used, and the third problem was that the disk i/o and cpu usage was close to nil. We solved all of these problems, and they all helped, but ultimately could only handle the load by serving a static copy of the popular page. But here’s the process I took to get there and how each step impacted performance. Continue Reading…