One of my web applications recently began using the NewRelic service. I wanted to provide a post on my opinions and experience from using it.
Fast, Insightful and Expensive.
I was literally amazed at how fast I had this service up and running. Literally from the time I started to the time I had data flowing in my account took about 10 mins.
In a nutshell… you
- Create an account (web based signup)
- Install their RPM (one line command from their setup doc)
- Modify your config file with your account information (add your account key)
- Enable their modules (such as adding their php .so extension to your php.ini)
- Restart your services (apache restart)
Literally – within 10 minutes I was up and running and collecting data.
If you have never been able to profile your code performance then this tool really is a must have. It gives incredibly valuable insight into how long execution of your code is taking. It also provides a very advanced user interface – which in my opinion is one of its strongest characteristics.
Using the service you can dive into information such as throughput, request satisfaction rates, Memcache response times, page specific performance and many other key analysis points to help you achieve success. Data specific to your Database or Memcache layer is also available to let you know how these services are performing.
Now here is my biggest gripe about the service. The pricing module is not designed for Enterprise. It is designed for companies and applications that require say less then 10 hosts being monitored.
You are for the most part charged on a per host basis. This value does scale a little bit with a large number of hosts – but not by much. In fact in many pricing discussions with NewRelic we found that when we wanted to deploy the service to thousands of servers – we would be paying upwards of 5-8x more for the new relic service then we would for the service that actually launches the server. That just doesn’t make sense. 5-8x to monitor the server then it does to actually deploy and maintain and administer it. Huh?
So while NewRelic is an incredibly valuable service and has an impressively slick UI – they need to fix their pricing structure. Let’s assume that you have a web pool of 100 servers all servicing the same code. Well – you can get 95% of the data that you need from that pool of servers by installing NewRelic on 5 of those servers. There is not a big enough ROI for paying for the other 95 servers to house NewRelic. Sure you get a little bit more data analysis – but not enough to justify the cost.
Once NewRelic figures this out (despite being told directly) they will win over a lot more larger scale clients. In their defense however they may just want to keep their service on smaller clients rather then answering to big players.