We at The Virtualization Practice, practice what we write about, as such we have been monitoring our systems using many of our sponsors tools. One that has helped quite a bit has been New Relic RPM with its End User and Application Server monitoring capabilities as well as its inherent diagnostics to track through what is the root cause of our performance problems. Since we like to keep our website snappy, we constantly monitor for issues and ways to fix them. As such we are not only looking at the application, but our network and storage environments as well. New Relic RPM however has surprised us quite a few times in what it can tell us. This is where performance monitoring and virtualization security overlap.
What is New Relic and Where does it Fit?
There are many application performance management tools, and this category of tools has existed for quite some time. In “Why is Application Performance Management so Screwed Up?“, we went through why the first generation APM tools that primarily targeted large scale J2EE applications deployed on Weblogic and WebSphere were not going to make the leap into monitoring applications for dynamic environments (virtualization), private cloud (IT as a Service), or Public Cloud situations. We detailed why the APM industry is being reinvented by vendors like New Relic, AppDynamics, BlueStripe, Extrahop, Confio Software, and dynaTrace.
In “VMware Joins the APM Revolution with vFabric Application Performance Manager” we explained that VMware has now joined in the redefinition of APM with its new APM product, and that VMware intends to fully fold this new product into it longer term Service Assurance and Dynamic Operations strategies.
With that as background where does New Relic shine, and why do we run it? New Relic is an APM solution offered on a SaaS basis. The importance of this is that you do not have to install and maintain the back end monitoring system, its database, and its storage – that is all done by New Relic for you. You just have to install the New Relic agents into your applications. Now this is where things get interesting. One of the outstanding things about New Relic is the breadth of environments that it supports with its agents. New Relic is the only APM tool that provides deep code level diagnostics into Java, .NET, Ruby, PHP, and Python applications. Since we are a WordPress site, and WordPress is written in PHP, this alone made New Relic a natural fit.
The other thing about New Relic that is both a promised benefit and that has turned out to be a real benefit is that it is pretty much plug and play. You create your account on their back end, you download the agents you need and install them. Then you log onto their web based console (screen shots below) and you are up and running. This was crucial to us because, like many other people we are really busy. We do not have time to manually configure a monitoring solution to tell it what to monitor so that it catches the important stuff, but does not impose too much overhead itself. This is a huge distinguishing feature of second generation APM solutions – they just work (no consultant in the box).
So What did New Relic do for Us?
First we monitor using New Relic RPM both our production and development sites as we need to determine in development if what we are doing will ultimately improve the performance of the site. There are two interesting graphs of use to any LAMP developer.



- Rewrote a plugin to save 10-20s every time it was called.
- Redesigned our website to only make Web External calls on request, instead of every page load.
- Determined that we are spending most of our time calling the database and for that we optimized by adding in a DB Cache functionality so that we do not need to re-query the same thing multiple times on a page.
All this from charts such as Figure 4, which show a break down of one call to the website that displays a post.


Given the complexity of modern web sites, tools such as New Relic RPM are incredible assets and a valuable tool to determine what is happening within your environment. While your data does go into their SaaS offering, all SQL and other statements are scrubbed. The results of using this tool are incredible. While it takes a developer to make the code changes, the multi-user aspects of New Relic RPM even let those who are not developers understand where the performance issues exist and there is a side benefit of performing continual monitoring for some, but not all security breaches.