Django 1.6.1 Upgrade: An Initial Look
Ambition Co-Founder and CEO Travis Truett explains some technical updates we just made to our software framework in this addition to our Tech Journal.
We just upgraded a component of our software stack after putting it off for several weeks. Specifically, we upgraded Django from version 1.5.4 to 1.6.1 and the initial results look promising. While it’s still too early to see real-world improvement across our customer instances we’re nonetheless impressed with the performance increase and we wanted to share it with those interested.
Some quick background on what we do, Ambition is “Fantasy Football for Companies”. Managers choose/weight metrics for employee-based teams to compete over across seasons; it’s sustainable competition that aligns incentives while driving productivity and profitability. We’re built on top of Django, Postgres, ExtJS, AWS and you can check out our product demo here: https://demoambition.com
Our Django Upgrade
We deployed Django 1.6.1 to our public-facing demo instance on 12/16/13 at 6:00PM EST. This site gets very little traffic so we use it to monitor baseline performance in a full-production environment.
Here you can see our overall response time across several days. The vertical blue line indicates the deployment and the colors are represented in the bottom-left legend. As you can see our overall response time seems to have dropped by about 100ms.
Here you can see our database response time. It appears to have dropped by about 90ms which comprises the majority of the performance increase. This makes sense given the overhauled transaction management layer and hopefully we'll see an additional performance increase once we tune the newly available persistent connection functionality.
Now let's take a look at the python response time. Smaller but still noticeable performance increase as compared to the database. Looks to be about a 10ms difference.
Finally, let's take a more in-depth look at the database. The big brown blob that accounts for 99% of the operations is Narrative, our logging system.
That's about it for now, we'll update the post as we roll out the upgrade to customer instances that see more consistent traffic. Big thanks to the Django Team for another great release and for those considering making the upgrade, it looks to be worth it sooner rather than later.