99designs is a crowdsourcing marketplace for graphic design, where small businesses and individuals can post graphic design work that they need done. Founded in 2008 in Melbourne, Australia by Mark Harbottle and colleagues Lachlan Donald and Paul Annesley, we were started by designers for designers. We connect passionate designers from around the globe with customers, mostly small businesses, seeking quality, affordable design services. We provide a friendly, professional and secure environment where designers from all walks of life can find opportunity and compete on a level playing field – where they can show off their work, improve their skills, communicate with peers and win new clients.
“In the seven months we’ve been running New Relic, we’ve certainly saved weeks of time debugging performance issues”
We Need a Reliant Software Platform
With a global customer base of small businesses looking for design services, and graphic designers looking for opportunities to sell their designs and to improve their skills, both groups are accessing our site 24x7. Business is lost for both constituents whenever the site is down, so there is a strong imperative to run a site that is quite literally never in maintenance mode. Being global, the team also monitors page load performance from a variety of countries to measure how successfully they are serving the international community.
Each month our web infrastructure supports:
- Hundreds of thousands of unique visitors
- Tens of millions of page-views
- Some 40x as many HTTP requests
With a growing customer base and with so much website activity, we found it difficult to bring new features to market because we were so preoccupied by having to find and resolve ongoing performance issues. Getting to the level of detail our team needed required so much time that we would do deep dives on performance only a few times a year. This meant that by the time issues were identified, they were much more expensive to correct than they would have been at the time they were introduced. Performance problems were slipping under the radar of everyday development.
Help That We Can Depend On
In mid-2011 we discovered that New Relic offered a level of transparency into our stack that we had not been able to achieve using current methods. It provided a window into server and in-browser behavior, and provided profiling information even to the level of slow database queries. We found the New Relic interface intuitive and easy to use, and found the consolidated view on a single console to be much easier and faster to use than the multiple consoles from our old environment. We have grown to consistently trust the data New Relic provides. We now use embedded graphs from New Relic to form an ‘always-on monitoring’ screen, where we can see at a glance whether any aspect of site performance has changed and needs further investigating. New Relic continues to uncover subtle issues that our team might otherwise have missed, and it allows us to rapidly identify the code causing the performance problem, and often the actual deployment that caused the issue. Today, we view New Relic as essential to our ability to continually debug and tune all of 99designs’ applications.
The Results We Needed
We use New Relic monitoring as the core of our strategy around maintaining and improving performance across the stack. As our experience with New Relic grows, we are finding that using the product helps us prioritize work, improve productivity, and resolve thorny performance challenges. In one such instance, New Relic helped us detect a subtle bug which caused a transaction normally occurring 200 times per minute to occur 10,000 times a minute. Being able to find that bug and others like it have enhanced 99designs’ productivity and improved our ability to limit infrastructure costs. Now when a new feature or a change is released, the impact is quickly seen and measured. The result is that issues are often discovered and corrected before they escalate into larger issues, and while the feature in question is still fresh in the developer’s mind.