Guest author Josh Koenig is co-founder and head of product for Pantheon, the website management platform.
In the near future, a majority of the web may be powered by open source content management systems. While many sites can run on template-based SaaS implementations (e.g., WordPress.com), brand, marketing, or lead generation sites—anything high-profile or high-traffic—are typically custom implementations.
These websites are applications. They’re delivering a specific customer experience, business logic, and data collection. The more important the use case, the more complex the implementation, the more performance matters.
New Relic offers huge value for developers who build these sites. For those of us who make the internet, X-ray vision into code-level performance is the best way to ensure we deliver high performance for our clients. That’s why we are making New Relic APM Pro available to every site on our platform, for free.
Website performance killers
New Relic was designed around application performance in general, but its capabilities are highly applicable for optimizing WordPress and Drupal. At Pantheon, we see the common sources of slowness breaking down into three broad categories:
- Database queries: The most common problem is a query (or queries) that hold up the page load. Also common is a high volume of often-unnecessary queries bogging down page-response time.
- Blocking service I/O: The website may need to talk to an external service, be it a REST API, key-value store, or search index. Slow-to-respond services can kill site performance.
- Code: Code itself is usually fast. But sometimes code is written with a small data set in mind—something that iterates over 10 posts so they can be themed, for instance—but ends up being invoked on loops with hundreds or even thousands of items. This is usually painful.
New Relic’s main performance view maps directly to these categories. Here’s a screenshot of the APM dashboard from a real-world Drupal website we helped an agency optimize on Pantheon:This example shows what happens when developers implement Redis on a site that’s seeing some bottlenecking in the database. Overall performance smooths out as time spent in the database (the yellow) decreases. It’s exactly what we’d expect to see, which helps everyone feel confident in the solution.
X-Ray vision to the rescue
When your application is 80% core CMS, 15% open source plugins or modules, and 5% your own custom design and business logic, the interplay between these complexities makes it hard to pinpoint the root cause of a performance problem. You might have a general idea, but without the ability to dig deeper, even the most advanced developer can get stuck at “I know it’s in the database, but not sure where…”
When site performance suffers, there’s often pressure to solve the problem quickly. New Relic lets you dive in with just a few clicks. One dashboard to spot a slow query is much better than digging to find a MySQL log, downloading it, running a digest generator, etc.
If the problem lies deep in code, you can get a stack trace with the slowest functions called out. This can be a game-changer. I once had a client with a Drupal View that took up to 30 seconds (!!!) to render, but the database was showing no signs of strain. It turned out the View caused the whole editing interface to be built (and then discarded) for each post it iterated over, which was upwards of 500. New Relic’s stack trace made it easy to spot and fix. Without it, the problem could well have remained mysterious.
As more complex, higher-profile, and higher-traffic websites are implemented via WordPress and Drupal, the tools developers have at their disposal become increasingly important. Likewise, as the economy around these open source CMSs matures, consultants and agencies positioned as experts in areas like performance increase their value to potential clients.
This is why we expect to see more and more website developers make New Relic a part of their stack. Ask yourself, Which of your clients wouldn’t want a faster site (or go bananas if performance took a nosedive)? Once you experience the speed of debugging a problem with New Relic, or the joy of iteratively slicing away at the drag to create a site that absolutely screams with speed, you’ll never want to go back to the old guessing games.
New Relic + website management platform = great
Because Pantheon believes that performance is critical, we are now offering New Relic APM Pro to every site on our platform, free of charge. In addition to making deep performance monitoring a standard for all Pantheon sites, our Website Management Platform architecture offers additional value to developers.
Pantheon provides more than elastic website hosting for production sites. You also get a complete development and deployment pipeline, with as many segmented environments as needed. Since all these environments offer consistent performance, and they all have New Relic, you can measure the impact of a change before it’s deployed.
In other words, you can be sure that the change you’re releasing solves the problem. You may even be able to banish the dreaded excuse “but it worked on my dev machine” from your team’s vocabulary.
Our Quicksilver platform hooks also make it a cinch to use New Relic’s API to annotate your performance dashboard with markers for when code was released, helping measure iterative improvements. This helps create a culture of accountability, since you can correlate changes in performance with what changes were released by whom.
Find out more and get started
All of this is completely free for WordPress or Drupal developers. Just set up an account and migrate over a copy of an existing site to see what kind of wins you can get. Check out our guides for how to get started using New Relic on Pantheon to learn more.
Or join me and New Relic technical partner manager Marco Marquez on a free webinar: Pantheon + New Relic: Monitor Your Entire Web Stack, on Tuesday, June 28, 2016, at 1:00 p.m. ET (10:00 a.m. PT). We will demonstrate what you should be doing to monitor your website’s performance and how to use New Relic to maximize your site’s performance, track deployments, and get immediate alerts when critical issues arise. Register now!